700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > MySQL 判断字段是否包含某个字符串办法

MySQL 判断字段是否包含某个字符串办法

时间:2024-05-12 22:09:13

相关推荐

MySQL 判断字段是否包含某个字符串办法

数据库|mysql教程

MySQL

数据库-mysql教程

校园二手交易网站php源码,搜狗ubuntu离线安装,app腾讯地图爬虫,学习php还是php,菠菜seo代码lzw

易语言替换源码,vscode搜索文件快捷方式,魅族ubuntu下载,tomcat服务调用日志,sqlite 修改视图,网页设计都用什么软件,服务器怎么连接ftp,cityselect插件下载,前端框架指令04,爬虫的好坏,php用户手册,seo的出路,开源好的springboot,公安网站后台管理系统,全景图生成网页,游戏介绍网站模板,谷歌浏览器后台更新,wordpress 登陆页面,基于web管理系统,万能克隆小偷程序lzw

MySQL 判断字段是否包含某个字符串的方法

百度云 php源码,ubuntu开机提示错误,tomcat如何防止跨站,爬虫ppt代码,php网站的心得,seo教程seo优化快速lzw

方法一:like

SELECT * FROM 表名 WHERE 字段名 like “%字符%”;

方法二:find_in_set()

利用mysql 字符串函数 find_in_set();

SELECT * FROM users WHERE find_in_set(字符, 字段名);

这样是可以的,怎么理解呢?

mysql有很多字符串函数 find_in_set(str1,str2)函数是返回str2中str1所在的位置索引,str2必须以”,”分割开。

注:当str2为NO1:“3,6,13,24,33,36”,NO2:“13,33,36,39”时,判断两个数据中str2字段是否包含‘3’,该函数可完美解决

mysql > SELECT find_in_set()(3,3,6,13,24,33,36) as test;-> 1mysql > SELECT find_in_set()(3,13,33,36,39) as test;-> 0

方法三:locate(字符,字段名)

使用locate(字符,字段名)函数,如果包含,返回>0的数,否则返回0 ,

它的别名是 position in

select * from 表名 where locate(字符,字段)select * from 表名 where position(字符 in 字段);

例子:判断site表中的url是否包含’http://’子串,如果不包含则拼接在url字符串开头

update site set url =concat(http://,url) where locate(http://,url)=0

注意mysql中字符串的拼接不能使用加号+,用concat函数

方法四:INSTR(字段,字符)

select * from 表名 where INSTR(字段,字符)

另外,笔者查看了以上SQL的执行计划(不包含find_in_set),发现都是:

网上说模糊查询 用 locate 速度快,不知道结论怎么来的,可能是大数据量的情况下吧。

(免费学习视频教学推荐:mysql视频教学)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。