2016-01-04 2 views
-1

можно использовать LIKE, чтобы найти вхождение узора в виде таблицы, если таблица имеет строки (красный, СВОД, DRED, зеленый), какКакой оператор SQLite используется для сопоставления шаблонов?

WHERE column LIKE '%red%' 

вернется (красный, СВОД, Дреда).

Есть ли какой-либо оператор для противоположного соответствия?

WHERE column OPERATOR 'green, blue, yellow' 

должен вернуть (зеленый)

+0

Мой единственный опыт работы с SQLite через модуль питона так YMMV, но есть функция REGEXP, что позволяет использовать регулярные выражения для выполнения сопоставления. Для реализации python вы должны «подключить его» к реальной функции - я не знаю, поддерживает ли это для других реализаций. Вот как вы могли бы сделать функцию regexp в python: https://docs.python.org/3/library/sqlite3.html#sqlite3.Connection.create_function – dusty

+1

'должен возвращать (зеленый)' не является ** противоположным соответствия **. ** противоположное совпадение ** - 'НЕ нравится '% red%'' –

ответ

1

Вы могли бы написать что-то вроде этого:

... WHERE MyColumn IN ('green', 'blue', 'yellow') 
1

Чтобы проверить, происходит ли строка в качестве подстроки в другой строке, используйте LIKE.

В этом случае подстрока является значением столбца, поэтому вы должны поместить ее на другую сторону. Кроме того, вам нужно добавить символы шаблонов:

... WHERE 'green,blue,yellow' LIKE '%' || MyColumn || '%' ... 
+0

@ FrankN.Stein в произведениях. написать ответ PLS – Yarh

Смежные вопросы