不常用:mysql中的LOCATE和POSITION函數(shù)
LOCATE(substr,str)
POSITION(substr IN str)
返回子串 substr 在字符串 str 中第一次出現(xiàn)的位置。如果子串 substr 在 str 中不存在,返回值為 0:
mysql> SELECT LOCATE(‘bar’, ‘foobarbar’);
-> 4
mysql> SELECT LOCATE(‘xbar’, ‘foobar’);
-> 0
這個(gè)函數(shù)是多字節(jié)安全的。在 MySQL 3.23 中,這個(gè)函數(shù)是字母大小寫敏感的,當(dāng)在 MySQL 4.0 中時(shí),如有任一參數(shù)是一個(gè)二進(jìn)制字符串,它才是字母大小寫敏感的。
LOCATE(substr,str,pos)
返回子串 substr 在字符串 str 中的第 pos 位置后第一次出現(xiàn)的位置。如果 substr 不在 str 中返回 0 :
mysql> SELECT LOCATE(‘bar’, ‘foobarbar’,5);
-> 7
這個(gè)函數(shù)是多字節(jié)安全的。在 MySQL 3.23 中,這個(gè)函數(shù)是字母大小寫敏感的,當(dāng)在 MySQL 4.0 中時(shí),如有任一參數(shù)是一個(gè)二進(jìn)制字符串,它才是字母大小寫敏感的。
一個(gè)典型的例子是:
slect * from tablename where LOCATE(colum1,colum1,1)>0