mysql 字段包含字符串的方法

mysql 字段包含字符串的方法方法一:likeSELECT*FROM表名WHERE字段名like”%字符%”;方法二:find_in_set()利用mysql字符串函数find_in_set();SELECT*FROMusersWHEREfind_in_set(‘字符’,字段名);这样是可以的,怎么理解呢?mysql有很多字符串函数find_in_set(str1,s…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

方法一:like

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

Jetbrains全家桶1年46,售后保障稳定

方法二: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; 

-> 1 

mysql > 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),发现都是:

mysql 字段包含字符串的方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230918.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • OA工作流实现的一点经验

    OA工作流实现的一点经验最近给学生布置.NET毕业设计,为了提高学生的能力就布置了一个OA系统,布置后发现OA其实也不是哪么的难做,其中最难做的应该要算工作流哪部分,于是我就给学生写了一个工作流的例子.其实在J2EE的开源里面就有工作流开源项目大家可以参考http://www.open-open.com

    2022年6月23日
  • js 数组转json和json转数组

    js 数组转json和json转数组js数组转json和json转数组数组转json串json字符串转数组数组转json串vararr=[1,2,3,{a:1}];JSON.stringify(arr);json字符串转数组varjsonStr='[1,2,3,{“a”:1}]’;JSON.parse(jsonStr);

    2022年6月21日
  • 小议隐式转换引起的问题

    小议隐式转换引起的问题

    2021年11月28日
  • touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event使用

    touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event使用iOSProgramming–触摸事件处理(2)        在上一篇《iOSProgramming–触摸事件处理(1)》中了解触摸、事件和响应者之后,接下去学习如何处理用户的触摸事件。首先触摸的对象是视图,而视图的类UIView继承了UIRespnder类,但是要对事件作出处理,还需要重写UIResponder类中定义的事件处理函数。根据不通的触摸状态,程序会调用相应的处理

    2022年7月25日
  • SQL SERVER插件之SQLPrompt 激活使用

    SQL SERVER插件之SQLPrompt 激活使用如有不懂,可以关注麒琳技术栈,欢迎在线咨询

    2022年7月26日
  • Web Service进阶(一)运行原理[通俗易懂]

    Web Service进阶(一)运行原理[通俗易懂]利用清明小假期,温习了一遍WebService的相关内容,对其工作原理进行了简要总结。以供有需求的朋友和自己日后参考。文章若有不当之处,敬请朋友们提出宝贵建议,以求共勉。Web服务中,我们应该首先了解相关的术语含义:WSDL、UDDI….相关术语方面的介绍在此不再赘述,重点放在原理上。在Web服务中,存在三个角色:服务提供者、服务请求者和服务中介,三者之间的关系如图1…

    2022年7月24日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号