mysql函式 FIND IN SET 的使用

2021-09-24 15:31:37 字數 568 閱讀 3338

假設如下場景:有個優惠券表,表中有個goods_id欄位,用逗號隔開,對應商品表的id,表示固定的商品可以使用。現在需求就是給你商品id,讓你從優惠券中根據商品id找到能夠使用的優惠券。

在做mysql語句查詢的時候,用模糊查詢like不能完全實現想要的效果,比如有優惠券可以被goods_id為1,2,3的商品使用。但是如果goods_id是11,依然可以查到。

在這種情況下就需要使用 **find_in_set(str,strlist)**函式:

第乙個引數str是要查詢的字串。

第二個引數strlist是要搜尋的逗號分隔的字串列表。

假如字串str 在由n 子鏈組成的字串列表strlist 中,則返回值的範圍在 1 到 n 之間。

乙個字串列表就是乙個由一些被『,』符號分開的子鏈組成的字串。如果第乙個引數是乙個常數字串,而第二個是type set列,則 find_in_set() 函式被優化,使用位元計算。

如果str不在strlist 或strlist 為空字串,則返回值為 0 。如任意乙個引數為null,則返回值為 null。這個函式在第乙個引數包含乙個逗號(『,』)時將無法正常執行。

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...