精准连码三中三:Mysql查询:如何判断某字段是否包含某个字符串?

连码四七靠三活猜生肖 www.dvwa8.cn 今天一个群有人向我求助这样一个问题,它的mysql表结构和表数据如下图:

Mysql查询:如何判断某字段是否包含某个字符串

现在,这位群友的要求是:title字段有1和3的都要查出来,应该如何做?

 

解决办法

其实,解决这个问题的思路有很多,方法就更多了。抛开其它的不讲,我们只站在mysql角度来讲,仅用mysql查询实现就有三种方法:

 

1、单个值查询使用myql函数:FIND_IN_SET()。

SELECT * FROM `by_content` WHERE FIND_IN_SET('1',title);

 

2、多个值模糊查询,使用mysql正则:REGEXP。此方式相当于( LIKE?'%1%'?OR LIKE?'%3%'?OR LIKE?'%5%'?)

SELECT * FROM `by_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 * FROM `by_content` WHERE title REGEXP '(^|,)(1|3|5)(,|$)';

 

我的最终建议是用:mysql字符串find_in_set函数,完整sql语句如下:

SELECT * FROM `by_content` WHERE find_in_set('1', title) UNION SELECT * FROM `by_content` WHERE find_in_set('3', title);
    A+
发布日期:2019年01月04日 19:49:48  所属分类:Mysql
最后更新时间:2019-01-04 19:59:55
评分: (3 票;平均数5.00 ;最高评分 5 ;用户总数3;总得分 15;百分比100.00)
付杰
SEO顾问服务 中小型网站 单站/最低99.9元 全方位优化
SEO顾问服务 中小型网站 单站/最低99.9元 全方位优化
  • ¥ 99.9元
  • 市场价:5000元
服务器管理面板/主机控制面板“安装”服务
服务器管理面板/主机控制面板“安装”服务
  • ¥ 9.9元
  • 市场价:49.9元
花牛苹果 甘肃天水 李宏恩家自种 1斤 包邮
花牛苹果 甘肃天水 李宏恩家自种 1斤 包邮
  • ¥ 6.8元
  • 市场价:8.8元
wordpress站群服务 泛解析二级域名 二级目录站群
wordpress站群服务 泛解析二级域名 二级目录站群
  • ¥ 1999.9元
  • 市场价:4800元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: