MySQL字段包含某个值的方法FIND_IN_SET
一、简介
当我们使用到包含的时候,可以使用in,但in有其局限性,比如:对于某个字段,值为a,b,c
,那么在传入查询值a
时,可以使用in查询到,即SELECT * FROM table_name where field in ('a')
;那么,当我们的值为a
时,传入查询数据为a,b,c
,即```SELECT * FROM table_name where field in (‘a,b,c’)````,使用in就没法查询到了。所以这时候可以使用FIND_IN_SET函数。
二、示例
对于alarm_type字段,我们有这些值,用英文逗号隔开
,如果使用in进行查询,即SELECT * FROM table_name where alarm_type in ('11')
,那么结果只查询出1条数据,即alarm_type为11的数据,而我们想查询出包含11的所有数据,也就是第2条也想查询出来,这时候就需要用到FIND_IN_SET函数。
FIND_IN_SET(str,strlist)函数,两个参数分别为查询的数值和字段名。
我们重新写sql,即SELECT * FROM table_name where FIND_IN_SET(11,alarm_type)
,这时可以发现,我们希望查询的2条数据都被查询出来了。
三、注意
- FIND_IN_SET:不使用索引,是全表扫描(索引失效)。
- in:使用索引。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhggfgcc
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13