mysql語句中判斷是否包含某字串的方法

2022-05-07 14:00:20 字數 963 閱讀 7217

當我們需要對資料做篩選和查詢的時候,往往會涉及到一些限制條件的判斷,今天就分享乙個判斷字串的技巧。

like

相信大家對like的用法肯定都很熟悉了,它可以匹配欄位以某字串開始,以某字串結尾,包含有某字串,用法如下:like '%string',like 'string%',like '%string%'

find_in_set

現在我們遇到這樣乙個需求,字段裡面的值是這樣的,(1,2,3,4),(12,14),(3,5,11,12),(22,25,28,29),然後需要判斷字段裡面是否有2這個值,如果我們使用like的話,肯定是得不到正確的結果(如果不信,可以用like去驗證一下)

這裡我們來了解一下find_in_set,它是乙個mysql字串函式,用它就可以完美解決上面的問題,用法如下:find_in_set(2, 欄位名稱) = 0表示該字段不含有2,find_in_set(2, 欄位名稱) >= 1表示該欄位含有2,舉個例子:

select find_in_set('2',  '1,2,3,4,5') as test;

-> 2

select find_in_set('2', '12,23,26,29') as test;

-> 0

locate

它也是乙個mysql字串函式,方法如下:locate(單個字串, 欄位名稱),和find_in_set用法相似,那它倆有沒有區別的呢,看如下例子:

執行sql語句:

select find_in_set('13', '3,6,13,24,33,36') as test;

-> 3

select locate('13', '3,6,13,24,33,36') as test;

-> 5

這下知道區別了吧!

理解了它們的用法和區別,在實際的專案的過程中就可以靈活使用咯。

iOS開發 判斷NSString是否包含某個字串

主要用到三種方法來判斷 rangeofstring 是否包含 hasprefix 是否在字首包含 hassuffix 是否在末尾包含 判斷字元是否包含某字串 nsstring string hello,shenzhen,martin 字條串是否包含有某字串 if string rangeofstri...

位定義,用於判斷是否包含某屬性

很多時候,物件有很多屬性,我們可以增刪物件的屬性的支援,這時候,位定義是比較好解決問題的。我們想加上ws vscroll屬性的常用寫法 dowrd ws old getwindowlonga hwnd,gwl style 獲取目前屬性 ws old ws vscroll 或者去掉ws vscroll...

mysql 判斷某欄位是否包含某特定字串

今天遇到寫功能時遇到乙個問題,資料庫中的字串為list形式,多個字串間逗號隔開 假如此時需要查詢該列中包含的 ssdc1 欄位的資料,理論上可以用如下函式 select from xx where ssdc code like ssdc1 select from xx where locate ss...