我可以用想找到一個表中的模式的次數如果錶行(紅色,REDD,德雷德,綠色),像哪個SQLite運算符用於模式匹配?
WHERE column LIKE '%red%'
將返回(紅,REDD,德雷德)。
是否有任何相反匹配的算子?
WHERE column OPERATOR 'green, blue, yellow'
應該返回(綠色)
我可以用想找到一個表中的模式的次數如果錶行(紅色,REDD,德雷德,綠色),像哪個SQLite運算符用於模式匹配?
WHERE column LIKE '%red%'
將返回(紅,REDD,德雷德)。
是否有任何相反匹配的算子?
WHERE column OPERATOR 'green, blue, yellow'
應該返回(綠色)
你可以寫這樣的事情:
... WHERE MyColumn IN ('green', 'blue', 'yellow')
要檢查一個字符串是否出現在另一個字符串的子串,使用等。
在這種情況下,子字符串是列值,所以你必須把它放在另一邊。此外,你需要添加模式字符:
... WHERE 'green,blue,yellow' LIKE '%' || MyColumn || '%' ...
@ FrankN.Stein在作品中。寫一個答案請 – Yarh
我使用SQLite唯一的經驗是通過Python模塊,這樣因人而異,但有一個REGEXP功能讓您使用正則表達式來執行匹配。對於python實現,你必須將它「掛鉤」到一個真正的函數 - 我不知道這是否適用於其他實現。下面是你如何去做Python中的正則表達式函數:https://docs.python.org/3/library/sqlite3.html#sqlite3.Connection.create_function – dusty
'應該返回(綠色)'不是**對面匹配**。 **相反的匹配**是'不喜歡'%red%' –