Performance

如何子句子中找到確切的字元串

  • July 11, 2019

我正在使用SQLITE並且我正在嘗試在句子中找到確切的單詞,但我並沒有得到我得到的單詞,例如,如果我正在尋找的話,Water我也得到了aWaterwateri24這不是我想要的正在尋找。

我在這裡創建了一個範例sqliteonline來向您展示如何儲存句子,在表 b 中。

這是正在發生的事情的一個例子

在此處輸入圖像描述

注意:我正在尋找一個使用忽略案例的答案,例如,如果我想找到water我想要獲取wAtERand WatER,等等……

我錯過了什麼?

你可以這樣做:

考慮到像水這樣的詞只能用空格、逗號和方括號括起來。

SELECT * FROM b WHERE list LIKE '%[water,%'
OR list LIKE '%, water,%'
OR list LIKE '%, water]%';

您可以從技術上刪除一些萬用字元:

SELECT * FROM b WHERE list LIKE '[water,%'
OR list LIKE '%, water,%'
OR list LIKE '%, water]';

SQLliteOnline 範例 #1

SQLliteOnline 範例 #2

兩者都返回:

在此處輸入圖像描述

注意:我正在尋找一個使用忽略案例的答案,例如,如果我想找水,我想得到水和水,等等……

Like 運算符應該區分大小寫。

請注意,SQLite LIKE 運算符不區分大小寫。這意味著 “A” LIKE “a” 是真的。但是,對於不在 ASCII 範圍內的 Unicode 字元,SQLite LIKE 運算符區分大小寫,例如,“Ä” LIKE “ä” 為假。

來源

如果不是,COLLATE NOCASE可以 在這裡使用更多內容

引用自:https://dba.stackexchange.com/questions/242483