MySQL 查找字符串位置函数
MySQL 查找字符串位置函数注意:本文MySQL版本为5.71、INSTR(str,substr)返回字符串str中第一次出现子字符串substr的位置,没有则返回0。官网:https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_instrselect instr('zcxvsd1sa','b');-- 0se
MySQL 查找字符串位置函数
注意:本文MySQL版本为5.7
1、INSTR(str,substr)
返回字符串str中第一次出现子字符串substr的位置,没有则返回0。
官网:https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_instr
select instr('zcxvsd1sa','b'); -- 0
select instr('zcxvsd1sa','s'); -- 5
select instr('zcxvsd1sa',1); -- 7
2、LOCATE(substr,str), LOCATE(substr,str,pos)
LOCATE(substr,str):返回字符串str中第一次出现子字符串substr的位置,没有则返回0。
LOCATE(substr,str,pos):从pos位置开始返回字符串str中第一次出现子字符串substr的位置,没有则返回0。
官网:https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_locate
select locate('s','zcxvsd1sa',-1); -- 0
select locate('s','zcxvsd1sa',-3); -- 0
select locate('s','zcxvsd1sa',0); -- 0
select locate('s','zcxvsd1sa',1); -- 5
select locate('s','zcxvsd1sa',5); -- 5
select locate('s','zcxvsd1sa',6); -- 8
select locate('s','zcxvsd1sa'); -- 5
select locate(1,'zcxvsd1sa'); -- 7
locate()函数不支持起始位负数的查询,即无法从尾部向头部查询。
但可以配合REVERSE(str)反转函数实现从从尾部向头部查询。
可以参考我之前的文章:https://blog.csdn.net/weixin_45873444/article/details/117929175
3、POSITION(substr IN str)
返回字符串str中第一次出现子字符串substr的位置,没有则返回0。
用法同LOCATE(substr,str)。
更多推荐
所有评论(0)