1. 程式人生 > >sql判斷以逗號分隔的字串中是否包含某個字串

sql判斷以逗號分隔的字串中是否包含某個字串

sql語句中,以逗號分隔的字串中是否包含某個特定字串,類似於判斷一個數組中是否包含某一個元素,例如:判斷 ’a,b,c,d,e,f,g‘ 中是否包含 'a',sql語句如何實現?

mysql:mysql中有一個方法 FIND_IN_SET(ele, str),str是一個以逗號分隔的字串,ele是一個特定字串,該方法表示判斷str中是否包含ele。

sqlserver:sqlserver中沒有封裝好的方法可以實現該功能,可以通過 CHARINDEX(','+ ele +','  ,  ','+str+',') 來實現,str是一個以逗號分隔的字串,ele是一個特定字串,該方法表示判斷str中是否包含ele,若值大於0,則表示包含,否則不包含。這裡通常會有一個誤區

:通過使用%模糊匹配來判斷,舉個該方法不成立的例子,若使用模糊匹配判斷 'b,ab,aba,bc,c' 中是否包含字串 'a',得到的結果是包含,但實際答案是否定的。

相關推薦

no