目標:查詢callout_session表中qc_normal_label中含有2、3、5
剛測試項目一個數據統計模塊,需要查詢表中某個列含有多個值的情況,剛開始用的是like來進行篩選,
1、剛開始的思路是使用like來進行篩選,后來想了下,如果用like '%2,3,5%',只能篩選出qc_normal_label 列中值包含且排序為2,3,5的數據記錄,如果qc_normal_label 值是無序排序列,那這個sql語句明顯是錯誤的
2、在網上搜了下,如果要查詢某個列中存在某個值應該用find_in_set
find_in_set語法:
select column_name from table_name
where find_in_set(str,column_name)
in語法:IN 操作符允許我們在 WHERE 子句中規定多個值
select column_name from table_name
where column_name in (value1,value2,...)
like是廣泛的模糊匹配,如果你要查詢的列字段值沒有分隔符,進行模糊匹配的話就用like
find 是精確匹配,如果你要查詢的列字段值以英文逗號隔開,要進行精確匹配就用find_in_set