find_in_set()函數在mysql中是用來查找字類類型為SET()的內容查詢的,下面我來給各位朋友簡單的介紹介紹.
先看mysql手冊中find_in_set函數的語法,代碼如下:
FIND_IN_SET(str,strlist)
假如字符串str 在由N 子鏈組成的字符串列表strlist 中,則返回值的范圍在 1 到 N 之間,一個字符串列表就是一個由一些被‘,’符號分開的自鏈組成的字符串,如果第一個參數是一個常數字符串,而第二個是type SET列,則 FIND_IN_SET() 函數被優化,使用比特計算.
如果str不在strlist 或strlist 為空字符串,則返回值為 0,如任意一個參數為NULL,則返回值為 NULL,這個函數在第一個參數包含一個逗號(‘,’)時將無法正常運行.
mysql> SELECT FIND_IN_SET('b','a,b,c,d');
-> 2
在數據庫中查詢,將用戶的所有權限id存入此字段,比如有:1,2,3,4,5這樣的五個權限,查找哪些用戶擁有權限id為1的權限,代碼如下:
select * from user where find_in_set('1',purview);
新聞熱點
疑難解答