函数:MySQL中字符串匹配函数LOCATE和POSITION使用方法

时间:2022-01-07 07:43:48

1. 用法一

LOCATE(substr,str)

POSITION(substr IN str)

函数返回子串substr在字符串str中第一次出现的位置。如果子串substr在str中不存在,返回值0

mysql> SELECT LOCATE('bar', 'foobarbar');

-> 4

mysql> SELECT LOCATE('xbar', 'foobar');

-> 0

这个函数是大小写不敏感的。在MySQL3.23中,这个函数是字母大小写敏感的,当在MySQL4.0中时,如有任一参数是一个二进制字符串,它才是字母大小写敏感的。

2. 用法二

LOCATE(substr,str,pos)

函数返回子串substr在字符串str中的第pos位置后第一次出现的位置。如果substr不在str中返回0。

mysql> SELECT LOCATE('bar', 'foobarbar',5);

-> 7

这个函数是大小写不敏感的。在 MySQL 3.23 中,这个函数是字母大小写敏感的,当在 MySQL 4.0 中时,如有任一参数是一个二进制字符串,它才是字母大小写敏感的。

3. 例子 

SELECT * FROM tb_name WHERE LOCATE(colum1,colum1,1)>0