SELECT INSTR('1234','2')  #returns 2
    SELECT LOCATE('2','1234') #returns 2

除了参数编号之外,在选择任何一个功能之前,还有其他重要区别要注意吗?

最佳答案

找到
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'));

10-08 07:02
查看更多