mysql проверяет, находится ли данная строка в списке через запятую без FIND_IN_SET - PullRequest
0 голосов
/ 28 августа 2018
SELECT * FROM TABLE_NAME WHERE 'string' in ('string1','string2','string3')

Его неверный результат не найден find_in_set только с точным результатом. Если есть способ получить правильный результат без использования find_in_set

1 Ответ

0 голосов
/ 28 августа 2018

SELECT * FROM TABLE_NAME, где 'строка' в ( 'Строка1', 'строка2', 'string3');

В приведенном выше запросе string предполагается как поле (столбец), поэтому, если бы этот запрос работал, он был бы без одинарных кавычек ', например:

SELECT * FROM TABLE_NAME, где строка IN ( 'Строка1', 'строка2', 'string3');

Это вернет все строки, где поле string точно равно string1 или string2 или string3.


Теперь, если вы хотите запросить в поле string такие значения, как"строка", не точно совпадающие, вы используете оператор LIKE :

SELECT * FROM TABLE_NAME WHERE строка LIKE '% string%';

В приведенном выше запросе будут возвращены все 3 записи, содержащие string1, string2 и string3.

...