Tengo una tabla con dos columnas de cadenas: Url y ModelId. Tengo que devolver registros para los que Url contiene ModeloId, algo como esto:MySQL como otro campo
SELECT Id, Url, ModelId WHERE Url like "%ModelId%"
Tengo una tabla con dos columnas de cadenas: Url y ModelId. Tengo que devolver registros para los que Url contiene ModeloId, algo como esto:MySQL como otro campo
SELECT Id, Url, ModelId WHERE Url like "%ModelId%"
SELECT Id, Url, ModelId
WHERE Url LIKE CONCAT('%', ModelId, '%')
thx, busqué esto en todas partes –
Técnicamente es posible que desee escapar del campo en caso de que tenga% en él: COMO CONCAT ('%', REPLACE (campo, '%', '\%'), '%') – dlo
Ésta es la consulta:
SELECT Id, Url, ModelId WHERE Url LIKE CONCAT('%', ModelId, '%')
No se puede simplemente concat las cuerdas, debe también escapa del campo de% y _:
SELECT Id, Url, ModelId
WHERE Url LIKE CONCAT('%', REPLACE(REPLACE(ModelId,'%','\%'),'_','\_'), '%'), '%')
posible duplicado de [Usar LIKE% ..% con valores de campo en MySQL] (http://stackoverflow.com/questions/4420554/use-like-with-field-values-in-mysql) –