共计 534 个字符,预计需要花费 2 分钟才能阅读完成。
定义
LOCATE – 查找一个子串在另一个字符串是否存在
语法
LOCATE(substr,str[,pos])
网上各种文章都说有两种语法,其实只不过第三个参数可选,且默认为 1 而已,何必搞这么复杂。
翻看了一下手册,12.7 小节里确实也是两种,不知道为什么。
返回 substr 在 str 从 pos 开始第一次出现的位置,索引从 1 开始,不存在则返回 0.
有别于 PHP 函数,strpos,是从 0 开始,参数顺序也不一致。
常用于 where 条件中,因为存在则返回大于 0 的值,不存在返回 0,不用考虑存在而返回 0 的情况(PHP 中 strpos 是需要的),反而比较简单,示例如下
示例
update site set url =concat(‘http://’,url) where locate(‘http://’,url)=0;
MySQL> SELECT LOCATE(‘bar’, ‘foobarbar’);
-> 4
mysql> SELECT LOCATE(‘xbar’, ‘foobar’);
-> 0
mysql> SELECT LOCATE(‘bar’, ‘foobarbar’, 5);
-> 7
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-08/134563.htm
正文完
星哥玩云-微信公众号