利用 mysql 的 find_in_set 函數查詢字段包含指定值
在 mysql 數據庫中,當表字段包含以逗號分隔的多個值時,我們無法像模糊查詢那樣直接找到匹配指定值的記錄。這時,find_in_set 函數可以幫助解決此問題。
假設我們有一個表名為 “test”,其中包含以下 “ids” 字段值:
| ids | |---|---| | null | | 350 | | 34,35,36,37 |
如果我們需要查找包含數字 “35” 的記錄,可以使用以下查詢:
select * from test where find_in_set(35, ids)
find_in_set 函數將 “35” 作為第一個參數,將 “ids” 字段值作為第二個參數。該函數返回一個數字,表示 “35” 在 “ids” 字段值中的位置,如果不存在則返回 0。
上面寫出的查詢實際上尋找 “ids” 字段值中包含 “35” 的記錄,因此它將返回以下結果:
| ids | |---|---| | 34,35,36,37 |
請注意,即使 “350” 也包含數字 “35”,但它不包含在由逗號分隔的純數字字符串中,因此 find_in_set 函數不會將其匹配。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END