鍍金池/ 問答/數(shù)據(jù)庫/ 問一個SQL的寫法

問一個SQL的寫法

表A字段type2中保存的記錄形式:1,3,5,7,8
圖片描述

我想查找type2字段中,含有2的記錄,SQL怎么寫?

回答
編輯回答
不將就

like是廣泛的模糊匹配,字符串中沒有分隔符,find_in_set是精確匹配,字段值以英文”,”分隔

2017年3月24日 08:59
編輯回答
小曖昧

SELECT * FROM A where find_in_set(type2,2);

2017年5月4日 13:50
編輯回答
尐飯團

select * from table_name t where t.type2 like '%2%'

2017年6月22日 10:25
編輯回答
病癮

直接type2 like "%2%"不行,你可以試試:

SELECT "22,33" LIKE "%2%";

其結果不為0。

需要用FIND_IN_SET:

where FIND_IN_SET('2', type2) > 0;
2017年11月14日 04:23
編輯回答
糖果果

解決幾種方法

  1. Like
  2. Find_in_set
  3. regexp

4.引es, solr等全文檢索

如果數(shù)據(jù)大,前三都不建議

2017年7月5日 15:24