不常用:MySQL中的LOCATE和POSITION函数
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 中时,如有任一参数是一个二进制字符串,它才是字母大小写敏感的。文章源自很文博客https://www.hinwi.com/很文博客-https://www.hinwi.com/47823.html
LOCATE(substr,str,pos)
返回子串 substr 在字符串 str 中的第 pos 位置后第一次出现的位置。如果 substr 不在 str 中返回 0 :
mysql> SELECT LOCATE('bar', ‘foobarbar',5);
-> 7文章源自很文博客https://www.hinwi.com/很文博客-https://www.hinwi.com/47823.html
这个函数是多字节安全的。在 MySQL 3.23 中,这个函数是字母大小写敏感的,当在 MySQL 4.0 中时,如有任一参数是一个二进制字符串,它才是字母大小写敏感的。文章源自很文博客https://www.hinwi.com/很文博客-https://www.hinwi.com/47823.html
一个典型的例子是:
slect * from tablename where LOCATE(colum1,colum1,1)>0文章源自很文博客https://www.hinwi.com/很文博客-https://www.hinwi.com/47823.html
文章源自很文博客https://www.hinwi.com/很文博客-https://www.hinwi.com/47823.html
评论