Как вы или два предложения 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 приводит к "Усеченному некорректному DOUBLE-значению: str1" и "Усеченному некорректному DOUBLE-значению: str2" для того, что похоже на каждый результат. Однако результаты не возвращаются.

Я решил, что одно из двух утверждений будет работать, но это не так.

Ответы

Ответ 1

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

Ответ 2

Подумайте просто:

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

Ответ 3

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

Ответ 4

попробуйте SELECT col FROM db.tbl WHERE (col LIKE 'str1' или col LIKE 'str2') И col2 = num

Ответ 5

Оператор "ИЛИ" применяется к выражениям. "LIKE" str1 "и" LIKE "str2" являются недопустимыми выражениями, так как оператор "LIKE" требует как левой, так и правой стороны.

page LIKE ('str1' OR 'str2')

сначала попытается объединить "str1" и "str2", указав значение TRUE. Затем он попытается оценить page LIKE TRUE и сообщить об ошибке.

Ответ 6

ИСПОЛЬЗОВАТЬ % в начале и в конце строки. Так что он также проверит подстроки

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