定義
LOCATE - 查找一個子串在另一個字串是否存在
語法
LOCATE(substr,str[,pos])
網上各種文章都說有兩種語法,其實只不過第三個引數可選,且默認為1而已,何必搞這么復雜,
翻看了一下手冊,12.7小節里確實也是兩種,不知道為什么,
回傳 substr 在 str 從 pos 開始第一次出現的位置,索引從1開始,不存在則回傳0.
有別于PHP函式,strpos,是從0開始,引數順序也不一致,
常用于where條件中,因為存在則回傳大于0的值,不存在回傳0,不用考慮存在而回傳0的情況(PHP中strpos是需要的),反而比較簡單,示例如下
示例
update site set url =concat('http://',url) where locate('http://',url)=0;
mysql> SELECT LOCATE('bar', 'foobarbar');
-> 4
mysql> SELECT LOCATE('xbar', 'foobar');
-> 0
mysql> SELECT LOCATE('bar', 'foobarbar', 5);
-> 7
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/52432.html
標籤:MySQL
下一篇:MySQL命令(SQL陳述句)
