Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL Come abbinare due parole in una frase

La domanda:

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

restituirà anche frasi come:

  • "scuola mysql"
  • "i miei genitori della vecchia scuola"

Ma non li vogliamo.

Puoi provare questo:

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

Ma se nella colonna mycolumn hai frasi come:

  • Amo la mia scuola!

dovresti pensare di aggiungere un'altra condizione:

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