mysql instr locate_mysql函数之一:INSTR、LOCATE、POSITION VS LIKE
LOCATE、POSITION和INSTR函数相似功能实例
使用LOCATE、POSITION和INSTR函数查找字符串中指定子字符串的开始位置。SQL语句如下:
mysql>SELECT LOCATE('369','www.baike369.com') AS col1,
>POSITION('369' IN 'www.baike369.com') AS col2,
>INSTR('www.baike369.com','369') AS col3;
执行结果如下:
从上图中代码执行的结果可以看出,子字符串“369”在字符串“www.baike369.com”中从第10个字母位置开始,因此,这3个函数返回的结果都为5。
Mysql 大家都会用这样的語法:
SELECT `column` FROM `table` where `condition` like `%keyword%’
事实上,可以使用 locate 和 instr 这两个函数来代替
SELECT `column` from `table` where locate(‘keyword’, `condition`)>0
或是 locate 的別名 position
SELECT `column` from `table` where position(‘keyword’ IN `condition`)
或是
SELECT `column` from `table` where instr(`condition`, ‘keyword’ )>0
locate、position 和 instr 的差別只是参数的位置不同,同时locate 多一个请始位置的参数外,两者是一样的。
速度上这三个比用 like 稍快了一點。
另付三个函数的说明:
INSTR(str,substr)
返回字符串 str 中子字符串的第一个出现位置。这和LOCATE()的双参数形式相同,只是参数的顺序被颠倒。
mysql> SELECT INSTR(‘foobarbar’, ‘bar’);
-> 4
mysql> SELECT INSTR(‘xbar’, ‘foobar’);
-> 0
这个函数支持多字节字元,并且只有当至少有一个参数是二进制字符串时区分大小写。
LOCATE(substr,str) , LOCATE(substr,str,pos)
第一个语法返回字符串 str中子字符串substr的第一个出现位置。第二个语法返回字符串str中子字符串substr的第一个出现位置, 起始位置在pos。如若substr 不在str中,则返回值为0。
mysql> SELECT LOCATE(‘bar’, ‘foobarbar’);
-> 4
mysql> SELECT LOCATE(‘xbar’, ‘foobar’);
-> 0
mysql> SELECT LOCATE(‘bar’, ‘foobarbar’,5);
-> 7
这个函数支持多字节字元,并且只有当至少有一个参数是二进制字符串时区分大小写。
POSITION(substr IN str)
POSITION(substr IN str)是 LOCATE(substr,str)同义词。
速度上这三个比用 like 稍快了一點。
当 condition 需要作为参数传递时,为了避免因为类型的原因 而查询结果错误的问题(position(‘keyword’ IN $a) keyword 为int类型时,则查询结果总是为一条) 应使用find_IN_SET代替。find_int_set(列名,$a) ; 当表中无数据或者列为null时,postion会成立 find_IN_SET 比较严格 如果没有数据 则不成立
mysql instr locate_mysql函数之一:INSTR、LOCATE、POSITION VS LIKE相关推荐
- mysql locate 和 like_MySQL比like语句更高效的写法locate position instr find_in_set
LIKE语句 SELECT `column` FROM `table` where `condition` like `%keyword%' 事实上,可以使用 locate(position) 和 i ...
- SQL中CharIndex函数、InStr 函数、PatIndex函数、Stuff函数区别与作用
在c#中可以用字符串的IndexOf方法来判断一个字符串中是否含有指定的字符.而在SQL SERVER中也就相关的函数来实现IndexOf的功能.CharIndex,InStr,PatIndex三个函 ...
- ORACLE SUBSTR函数和INSTR函数的结合
ORACLE SUBSTR函数和INSTR函数的结合 编写脚本时,经常会用到SUBSTR函数和INSTR函数结合使用,往往会出现"意想不到"的效果,这里不再介绍SUBSTR函数和I ...
- mysql的字符串函数大全_MySQL的字符串函数大全
ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NULL. mysql> select ASCII('2'); -& ...
- mysql的字符串函数
对于针对字符串位置的操作,第一个位置被标记为1. 1.ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NULL. mysq ...
- MySQL中字符串函数详细介绍
MySQL字符串函数对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str)返回字符串str的 最左面字符的ASCII代码值.如果str是空字符串, 返回0.如果str是NULL,返回N ...
- MySQL优化之——函数
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46561659 数学函数 1.求余函数MOD(X,Y) MOD(X,Y)返回x被y除 ...
- MySQL字符串处理函数的用法及使用举例
MySQL字符串处理函数的用法及使用举例 MySQL提供了处理字符串的相关函数.现对这些函数的功能及用法进行介绍并举例. 创建数据表emp并输入数据: create table customer(c_ ...
- mysql部分常用函数DATE_FORMAT(a.Created_time,'%Y-%m-%d%H
mysql部分常用函数 DATE_FORMAT(a.Created_time,'%Y-%m-%d %H:%i:%S') as c_time 有人告诉说1代表的是索引字段,和数组一样,1的话就是第二个字 ...
最新文章
- 基于开源CA系统ejbca community 6.3.1.1构建私有CA管理数字证书
- 在蓄电池管理系统中计算机应用,汽车电器与电子技术.docx
- oracle 查重复_日常答疑|MySQL删除重复数据踩过得坑
- 如何查看SharePoint未知错误
- C语言 ungetc将变量存放的字符返回给stdin输入流
- python set判断一个键是否存在_python redis 有序集合sorted set检查某个键是否存在
- 基于JAVA+SpringBoot+Mybatis+MYSQL的个人理财系统
- Erlang与ActionScript3采用JSON格式进行Socket通讯
- 在 Linux 上配置一个 syslog 服务器
- 题解:子矩阵(NOIP2014普及组T4)
- springboot+微信小程序点餐系统的设计与实现毕业设计源码221541
- 指定vtp为服务器命令,VTP与单臂路由
- 利用Openlayers4实现地图遮罩效果(三)
- while 循环进入死循环?
- 单片机cant通讯 c语言,基于C8051F040单片机的CAN总线通信
- 黑苹果 双系统 macos 与Windows蓝牙设备共享
- C# 创建MDI窗体
- (转)Android WebRTC简介
- 为何moov头在尾部的mp4可以快速播放、拖动
- python解析pcap包,python-用scapy读取PCAP文件
热门文章
- 《银翼杀手》画面布局赏析
- buuctf blacklist
- php templete什么意思,PHP设计模式之模板方法模式定义与用法详解
- ss命令Linux网络状态工具
- (算法)求数组中数字组合(可多值组合)相加最接近目标数的组合(可能多个)
- 齐博x2如何新增自定义字段
- jk触发器上升沿怎么看_jk触发器波形图_jk触发器波形图怎么画
- ncut算法分割图像的matlab,Ncut_9 归一化切割和图像分割算法及其论文, 不仅度量了不同分组之间总体不相似性, matlab 269万源代码下载- www.pudn.com...
- Android手机通知栏工具,安卓通知栏美化工具(Flat Style Colored Bars)
- 浙大愤青郑强教授的演讲(大学生都来看看吧)