阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL字符串函数:locate()使用方法详解

197次阅读
没有评论

共计 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

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计534字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中