Mysql
 sql >> база данни >  >> RDS >> Mysql

MYSQL Как да съпоставим две думи в изречение

Заявката:

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

ще върне също изречения като:

  • "mysql училище"
  • „моите родители от старата школа“

Но ние не ги искаме.

Можете да опитате това:

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

Но ако в колоната миколона имате изречения като:

  • Обичам училището си!

трябва да помислите за добавяне на друго условие:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Има ли формула за оценка на размера на индекса в InnoDB?

  2. проблем с външния ключ в jdbc

  3. mysql UPDATE по-бърз ли е от INSERT INTO?

  4. Разрешения за MySQL Съхранена процедура

  5. Има ли причина да не използвате съхранени процедури за всяка заявка?