Mysql查詢 如何判斷某欄位是否包含某個字串?

2021-10-12 10:12:33 字數 855 閱讀 7699

今天乙個群有人向我求助這樣乙個問題,它的mysql表結構和表資料如下圖:

mysql查詢:如何判斷某欄位是否包含某個字串

現在,這位群友的要求是:title欄位有1和3的都要查出來,應該如何做?

1、單個值查詢使用myql函式:find_in_set()。

select * fromby_contentwhere find_in_set(『1』,title);

2、多個值模糊查詢,使用mysql正則:regexp。此方式相當於( like 『%1%』 or like 『%3%』 or like 『%5%』 )

select * fromby_contentwhere 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_contentwhere title regexp 『(^|,)(1|3|5)(,|$)』;

我的最終建議是用:mysql字串find_in_set函式,完整sql語句如下:

select * fromby_contentwhere find_in_set(『1』, title) union select * fromby_contentwhere 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欄位為 ...