Как вы ИЛИ два утверждения LIKE?

Я пробовал следующие два утверждения:

  • SELECT col FROM db.tbl WHERE col (LIKE 'str1' OR LIKE 'str2') AND col2 = num приводит к синтаксической ошибке.
  • SELECT col FROM db.tbl WHERE page LIKE ('str1' OR 'str2') AND col2 = num приводит к «усеченному неправильному ДВОЙНОМУ значению: str1» и «усеченному неправильному ДВОЙНОМУ значению: str2» для того, что выглядит как каждый результат. Однако на самом деле результаты не возвращаются.

Я подумал, что 9X_sqlselect одно из двух утверждений сработает, но это 9X_mysql-query не так.

49
0
7
Общее количество ответов: 7

Ответ #1

Ответ на вопрос: Как вы ИЛИ два утверждения LIKE?

SELECT col FROM db.tbl WHERE (col LIKE 'str1' OR col LIKE 'str2') AND col2 = num 

9X_sql-select

86
0

Ответ #2

Ответ на вопрос: Как вы ИЛИ два утверждения LIKE?

Я считаю, что вам нужен WHERE ((page LIKE 'str1') OR (page LIKE 'str2'))

9X_mysql-server

5
0

Ответ #3

Ответ на вопрос: Как вы ИЛИ два утверждения LIKE?

ИСПОЛЬЗУЙТЕ % в начале и конце строки. Чтобы 9X_sql он также проверил подстроки

SELECT col FROM db.tbl WHERE (col LIKE '%str1%' OR col LIKE '%str2%') AND col2 = num 

5
0

Ответ #4

Ответ на вопрос: Как вы ИЛИ два утверждения LIKE?

Я полагаю, что вы хотите,

SELECT col FROM db.tbl WHERE col LIKE '%str[12]%' AND col2 = num 

Это буквально найдет 9X_mysqldump все случаи, когда (col как% str1% или col 9X_sql-select как% str2%) AND col2 = num

3
0

Ответ #5

Ответ на вопрос: Как вы ИЛИ два утверждения LIKE?

Думайте просто:

SELECT col FROM db.tbl WHERE (col LIKE 'str1' OR col LIKE 'str2') AND col2 = ... 

9X_sql

2
0

Ответ #6

Ответ на вопрос: Как вы ИЛИ два утверждения LIKE?

Оператор «ИЛИ» применяется к выражениям. «LIKE 9X_mysql-query 'str1'» и «LIKE 'str2'» не являются допустимыми 9X_mysql выражениями, поскольку для оператора «LIKE» требуются 9X_sql и левая, и правая части.

page LIKE ('str1' OR 'str2') 

сначала попытается 9X_sql-query объединить OR 'str1' и 'str2', получив значение 9X_sql-syntax TRUE. Затем он попытается оценить page LIKE TRUE и сообщить 9X_mysqlclient об ошибке.

2
1

  • Это только показывает, что пошло не так. Но это не ответ!<p><span cla ...

Ответ #7

Ответ на вопрос: Как вы ИЛИ два утверждения LIKE?

попробуйте SELECT col FROM db.tbl WHERE 9X_mysql-table (col LIKE 'str1' or col LIKE 'str2') AND 9X_mysqld col2 = num

1
0