函数的语法如下:
str)
其中,substr表示要查找的子串,str表示要在其中查找的字符串。
如果找到了substr,则返回它在str中的位置(从1开始),否则返回0。
函数区分大小写,即如果substr和str中的字符大小写不同,则不会被匹配。
– 如果substr为空字符串,则返回1。
– 如果str为空字符串,则返回0。
– 如果substr在str中出现了多次,则返回第一次出现的位置。
– 如果substr没有在str中出现过,则返回0。
函数的示例:
1. 查找子串在字符串中的位置
‘abcdefg’); — 返回 1
2. 查找不存在的子串
‘abcdefg’); — 返回 0
3. 查找空子串
‘abcdefg’); — 返回 1
4. 查找空字符串
”); — 返回 0
5. 区分大小写
‘abcdefg’); — 返回 0
6. 查找子串在字符串中的位置(使用变量)
SET @str := ‘abcdefg’;
SET @substr := ‘abc’; @str); — 返回 1
7. 查找子串在字符串中的位置(使用参数)
DELIMITER $$d(IN substr VARCHAR(100), IN str VARCHAR(100))
BEGIN str);
END $$
DELIMITER ;d(‘abc’, ‘abcdefg’); — 返回 1
函数时,需要注意字符串大小写和空字符串的情况。如果有多个匹配项,只会返回第一个匹配项的位置。