Ответ 1
SELECT col FROM db.tbl WHERE (col LIKE 'str1' OR col LIKE 'str2') AND col2 = num
Я пробовал следующие два утверждения:
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" для того, что похоже на каждый результат. Однако результаты не возвращаются.Я решил, что одно из двух утверждений будет работать, но это не так.
SELECT col FROM db.tbl WHERE (col LIKE 'str1' OR col LIKE 'str2') AND col2 = num
Подумайте просто:
SELECT col FROM db.tbl WHERE (col LIKE 'str1' OR col LIKE 'str2') AND col2 = ...
Я считаю, что вам нужно WHERE ((page LIKE 'str1') OR (page LIKE 'str2'))
попробуйте SELECT col FROM db.tbl WHERE (col LIKE 'str1' или col LIKE 'str2') И col2 = num
Оператор "ИЛИ" применяется к выражениям. "LIKE" str1 "и" LIKE "str2" являются недопустимыми выражениями, так как оператор "LIKE" требует как левой, так и правой стороны.
page LIKE ('str1' OR 'str2')
сначала попытается объединить "str1" и "str2", указав значение TRUE. Затем он попытается оценить page LIKE TRUE
и сообщить об ошибке.
ИСПОЛЬЗОВАТЬ %
в начале и в конце строки. Так что он также проверит подстроки
SELECT col FROM db.tbl WHERE (col LIKE '%str1%' OR col LIKE '%str2%') AND col2 = num