Mysql函数instr、locate、position VS like
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
>0 及筛选出所有符合模糊查询的字段
<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)同义词。
Mysql函数instr、locate、position VS like的更多相关文章
- mysql函数之一:INSTR、LOCATE、POSITION VS LIKE
LOCATE.POSITION和INSTR函数相似功能实例 使用LOCATE.POSITION和INSTR函数查找字符串中指定子字符串的开始位置.SQL语句如下: mysql>SELECT LO ...
- MySQL比like语句更高效的写法locate position instr find_in_set
使用内部函数instr,可代替传统的like方式查询,并且速度更快. instr函数,第一个参数是字段,第二个参数是要查询的串,返回串的位置,第一个是1,如果没找到就是0. 例如, select na ...
- MySQL比like语句更高效写法locate position instr find_in_set
你是否一直在寻找比MySQL的LIKE语句更高效的方法的,下面我就为你介绍几种. LIKE语句 SELECT `column` FROM `table` where `condition` like ...
- mysql中INSTR函数的用法
mysql中INSTR函数的用法 INSTR(字段名, 字符串) 这个函数返回字符串在某一个字段的内容中的位置, 没有找到字符串返回0,否则返回位置(从1开始) SELECT * FROM tblTo ...
- MySQL 的instr函数
1.测试数据库: MYSQL数据库 INSTR(STR,SUBSTR) 在一个字符串(STR)中搜索指定的字符(SUBSTR),返回发现指定的字符的位置(INDEX); STR 被搜索的字符串 SUB ...
- Mysql - 函数
Mysql提供的函数是在是太多了, 很多我都见过, 别说用了. 园子里面, 有人弄了一个比较全的. MYSQL函数 我这里会将他写的完全拷贝下来, 中间会插入一些自己项目中使用过的心得 一.数学函数 ...
- mysql函数大全
对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NULL. mysql& ...
- MySQL 函数大全
mysql函数大全 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NU ...
- MySQL函数讲解(MySQL函数大全)
讲mysql函数之前先给大家展示一下利用mysql函数的一个例子: SELECT i.item_id, i.item_name, i.cid, i.last_update_time, u.url, u ...
随机推荐
- Unparsed aapt error(s)! Check the console for output解决方法
在Eclipse平台进行Android 应用开发时,编辑,修改或增删 res/下资源文件时有时会遇到如下错误提示:“Unparsed aapt error(s)! Check the console ...
- cortex-a8硬件基础练习
实验要求:定时通过串口打印adc,时间和温度,开关量检测和通过串口接收命令控制led小灯的动作 下面是整理的代码: #include "s5pc100.h"#include &qu ...
- JAVA环境安装
CATALINA_HOME D:\apache-tomcat-7.0.52CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jarJ ...
- 【转载】张逸--ThoughtWorks(中国)程序员读书雷达
原文地址:ThoughtWorks(中国)程序员读书雷达 软件业的特点是变化.若要提高软件开发的技能,就必须跟上技术发展的步伐.埋首醉心于项目开发与实战,固然能够锤炼自己的开发技巧,却难免受限于经验与 ...
- C# button 去边框
Button属性里找到FlatStyle属性:Flat FlatAppearance BorderSize:0;
- bootstrap-11
下拉菜单(基本用法) 在使用Bootstrap框架的下拉菜单时,必须调用Bootstrap框架提供的bootstrap.js文件.当然,如果你使用的是未编译版本,在js文件夹下你能找到一个名为“dro ...
- Trapping Rain Water
Given n non-negative integers representing an elevation map where the width of each bar is 1, comput ...
- 在Linux系统中如何设置APACHE服务器里的后台页面只允许某个IP地址访问
补充资料 本网络中使用LINUX服务器,web服务器是由APACHE搭建,IP地址为192.168.1.5,后台页面为/admin/login.jsp . 如何设置后台页面LOGIN.JSP只允许19 ...
- NET-SNMP配置
配置/etc/snmp/snmpd.conf such as below : ============================================== com2sec notCon ...
- 【C】 01 - 再学C语言
“C语言还用再学吗?嵌入式工程师可是每天都在用它,大家早就烂熟于心,脱离语言这个层面了”.这样说不无道理,这门古老的语言以其简单的语法.自由的形式的而著称.使用C完成工作并不会造成太大困扰,所以很少有 ...