今天乙個群有人向我求助這樣乙個問題,它的mysql表結構和表資料如下圖:
mysql查詢:如何判斷某欄位是否包含某個字串
現在,這位群友的要求是:title欄位有1和3的都要查出來,應該如何做?
1、單個值查詢使用myql函式:find_in_set()。
select * fromby_content
where find_in_set(『1』,title);
2、多個值模糊查詢,使用mysql正則:regexp。此方式相當於( like 『%1%』 or like 『%3%』 or like 『%5%』 )
select * fromby_content
where title regexp 『(1|3|5)』;
3、多個值匹配查詢,使用mysql正則:regexp,此方式相當於( find_in_set(『1』,title) or find_in_set(『3』,title) or find_in_set(『5』,title) )
select * fromby_content
where title regexp 『(^|,)(1|3|5)(,|$)』;
我的最終建議是用:mysql字串find_in_set函式,完整sql語句如下:
select * fromby_content
where find_in_set(『1』, title) union select * fromby_content
where find_in_set(『3』, title);
Sql Server中如何判斷表中某欄位是否存在
比如說要判斷表a中的字段c是否存在兩個方法 一,if exists select 1from sysobjects t1 inner join syscolumns t2 on t1.id t2.id where t1.name a and t2.name c print 存在 else print...
mysql 查詢某欄位最小的記錄
根據我所遇到的應用情況,總結了以下3中簡單的語句 1.select select field from table t2 order by field s from table t1 2.select t1.from table t1 where t1.field select min t2.fie...
MySQL 模糊查詢某字段用逗號隔開
1.查詢pnum欄位中包含3或者9的記錄 select from test where find in set 3 pnum or find in set 9 pnum select from test where concat pnum,regexp 0 9 3 9 0 9 2.cover欄位為 ...