mysql find_in_set()函式的使用

講個笑話你別哭發表於2018-12-21

mysql 中 find_in_set() 函式語法:

FIND_IN_SET(str,strList)

  • str 要查詢的字串
  • strList 欄位名,引數以“,”分隔,如(1,2,6,8)
  • 查詢欄位(strList)中包含的結果,返回結果null或記錄。
假如字串str在由N個子鏈組成的字串列表strlist 中,則返回值的範圍在 1 到 N 之間。 一個字串列表就是一個由一些被 ‘,’ 符號分開的子鏈組成的字串
如果第一個引數是一個常數字符串,而第二個是type SET列,則FIND_IN_SET() 函式被優化,使用位元計算。
如果str不在strlist 或strlist 為空字串,則返回值為 0 。如任意一個引數為NULL,則返回值為 NULL。
這個函式在第一個引數包含一個逗號(‘,’)時將無法正常執行。
 
</pre>


例如:資料表的中又一個欄位gid,儲存的是字串1,2,3,4,5如此

現在要查詢gid裡包含2的資料

這個時候就要用到find_in_set()

select * from 表名 where FIND_IN_SET(`2`,gid);

注:欄位名gid不加引號

 

相關文章