|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
не работает Where IN (..., ...)
Здравствуйте.
в таблице (SQLite) есть поле (типа TEXT) оно содержит некоторый набор слов (через запятую): "красный, синий, зеленый, желтый, фиолетовый," вот такой запрос (с помощью LIKE) выполняется отлично: все записи находятся правильно! Код:
SELECT * FROM tb_color3 WHERE tags LIKE "%синий%" or tags LIKE "%зеленый%" or tags LIKE "%красный%" однако этот же запрос переписанный вот так: Код:
SELECT * FROM tb_color3 WHERE tags IN ('синий,', 'зеленый,', 'красный,') хотелось бы понять - почему? p.s. для тестирования запросов использую SQLite Expert |
#2
|
||||
|
||||
in ищет не вхождения, а точные значения.
Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
lx09x (06.03.2018)
|
#3
|
|||
|
|||
Цитата:
т.е. он сравниваем с целым значением в поле? если в поле записано "синий, зеленый, красный," то IN сработает только если явно указать IN ('синий, зеленый, красный'), но не среагирует на просто составляющую(ие) из этого поля. проверил: все так!) вопрос закрыт! Спасибо, NumLock! |