SELECT INSTR('1234','2') #returns 2
SELECT LOCATE('2','1234') #returns 2除了参数编号之外,在选择这两个函数之前,是否有任何需要注意的显着差异?
发布于 2017-07-20 22:59:21
定位
LOCATE()函数返回子字符串在字符串中第一次出现的位置。
实例
INSTR()函数返回一个字符串在另一个字符串中第一次出现的位置。
例如
SELECT LOCATE("H", "PHP") AS MatchPosition;`
-- -> returns 2
SELECT INSTR("PHP", "H") AS MatchPosition;
-- -> returns 2它的性能是
-- 5.074 sec
SELECT BENCHMARK(100000000,INSTR('foobar','foo'));
-- 5.086 sec
SELECT BENCHMARK(100000000,LOCATE('foo','foobar')); 发布于 2018-05-01 16:05:35
INSTR()函数从第一个字符开始搜索。
LOCATE()函数有一个第三个参数,它允许您更改起始位置。
-- 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)https://stackoverflow.com/questions/45218002
复制相似问题