MySQL函式find in set介紹

2021-08-21 23:32:48 字數 914 閱讀 1525

人有時會身兼數職,需要查詢出其中擔任某一職務的都有哪些人,如下面position欄位,不同的職務用數字表示,多個職務以逗號隔開。

先要查詢出擔任1職務的人員,通過以下兩種方式來查詢。

採用模糊查詢,匹配出1職務的記錄,如下sql:

select * from user where position like '%1%'
查詢結果如下,仔細觀察你會發現position為10的也被查出來了,但這個不符合業務要求。

採用mysql的原生函式find_in_set(str,array)來查詢,sql如下:

select * from user where find_in_set(1,position)
查詢結果如下,符合要求。

find_in_set(str,strlist),注意其中strlist只識別英文逗號。

***find_in_set(425,arrparentid)

***str:你要查的字串資訊 例如『425『

***strlist:資料庫字段字串資訊  例如 arrparentid  『0,425,245,483』

***能查出你要查的值和資料庫字段裡面某個值一樣的查出來返回結果

mysql 奇數函式 MySQL常用函式

mysql運算子 比較運算子的結果是1 true 0 false 或null。這些函式可用於數字或者字串。expr between min and max 如果expr大於或者等於min,並且小於等於max,返回1,否則返回0。它等價於表示式 expr min and expr max expr i...

mysql 等待函式 mysql 內建函式

select convert 125.83 signed select cast 125.83 as signed 字串函式 檢視字元的ascii碼值ascii str str是空串時返回0 select ascii a 檢視ascii碼值對應的字元char 數字 select char 97 拼接...

mysql相關函式 MySql 相關函式

select group concat column name from table name group by table name,table name2.field 函式自定義排序 select from user where type in 1,2,3 order by field colu...