MySQL中的LOCATE和POSITION函数使用方法

时间:2021-10-29 06:37:20

LOCATE(substr,str) 
POSITION(substr IN str) 
返回子串 substr 在字符串 str 中第一次出现的位置。如果子串 substr 在 str 中不存在,返回值为 0: 
mysql> SELECT LOCATE('bar', ‘foobarbar'); 
-> 4 
mysql> SELECT LOCATE('xbar', ‘foobar'); 
-> 0 

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

LOCATE(substr,str,pos) 
返回子串 substr 在字符串 str 中的第 pos 位置后第一次出现的位置。如果 substr 不在 str 中返回 0 : 
mysql> SELECT LOCATE('bar', ‘foobarbar',5); 
-> 7 

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

一个典型的例子是: 
slect * from tablename where LOCATE(colum1,colum1,1)>0