sql >> Base de Datos >  >> RDS >> Mysql

MYSQL Cómo hacer coincidir dos palabras en una oración

La consulta:

SELECT * 
FROM mytable 
WHERE mycolumn LIKE "%my%" 
and mycolumn LIKE "%school%";

devolverá también frases como:

  • "escuela mysql"
  • "mis padres de la vieja escuela"

Pero no los queremos.

Puedes probar esto:

SELECT * 
FROM mytable 
WHERE mycolumn regexp ' my |^my | my$'
and mycolumn regexp ' school |^school | school$'

Pero si en la columna mycolumn tienes oraciones como:

  • ¡Amo mi escuela!

deberías pensar en agregar otra condición:

SELECT * 
FROM mytable 
WHERE mycolumn regexp ' my |^my | my$'
and mycolumn regexp '[^a-zA-Z]school[^a-zA-Z]|^school | school$'