首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定位vs INSTR

定位vs INSTR
EN

Stack Overflow用户
提问于 2017-07-20 22:44:22
回答 2查看 9.5K关注 0票数 6
代码语言:javascript
复制
    SELECT INSTR('1234','2')  #returns 2
    SELECT LOCATE('2','1234') #returns 2

除了参数编号之外,在选择这两个函数之前,是否有任何需要注意的显着差异?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-20 22:59:21

定位

LOCATE()函数返回子字符串在字符串中第一次出现的位置。

实例

INSTR()函数返回一个字符串在另一个字符串中第一次出现的位置。

例如

代码语言:javascript
复制
SELECT LOCATE("H", "PHP") AS MatchPosition;`
-- -> returns 2
SELECT INSTR("PHP", "H") AS MatchPosition;
-- -> returns 2

它的性能是

代码语言:javascript
复制
-- 5.074 sec
SELECT BENCHMARK(100000000,INSTR('foobar','foo'));

-- 5.086 sec
SELECT BENCHMARK(100000000,LOCATE('foo','foobar')); 
票数 3
EN

Stack Overflow用户

发布于 2018-05-01 16:05:35

INSTR()函数从第一个字符开始搜索。

LOCATE()函数有一个第三个参数,它允许您更改起始位置。

代码语言:javascript
复制
-- returns 4
SELECT INSTR("Alibaba", "ba")

-- returns 4 because the third parameter was not specified
SELECT LOCATE("ba", "Alibaba")

-- returns 6
SELECT LOCATE("ba", "Alibaba", 5)
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45218002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档