在MySQL中,locate(substr, str, pos) 函数用于查找子串在字符串中的位置,即返回子串在字符串中第一次出现的位置。
其语法格式如下:
locate(substr, str, [pos]) --返回子串在字符串中的位置
locate()函数根据参数进行查找操作:要查找的子串substr,原字符串str,可选的起始位置pos。返回子串第一次出现的位置索引(从1开始)。
值得注意的是,locate(substr, NULL) 的返回值是NULL;而locate(substr, 数字),locate() 函数会尝试将数字转换为字符串,然后进行查找操作;如果不存在子串则返回0。
下面,我们将对不同的字符串进行子串位置查找:
select locate('.', 'dotcpp.com',6);
select locate('&', 'dotcpp.com');
select locate(3, 12345 , 2);
select locate('N', NULL);其查询结果如下:

总结:在MySQL中,我们可以通过locate()函数查找子串在字符串中第一次出现的位置。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程