Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MYSQL Wie man zwei Wörter in einem Satz zusammenbringt

Die Abfrage:

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

gibt auch Sätze zurück wie:

  • "mysql-Schule"
  • "meine alten Schuleltern"

Aber wir wollen sie nicht.

Sie können Folgendes versuchen:

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

Aber wenn Sie in der Spalte mycolumn Sätze wie:

haben
  • Ich liebe meine Schule!

Sie sollten darüber nachdenken, eine weitere Bedingung hinzuzufügen:

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