MySQL字符串函數 locate() 使用方法詳解


定義

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM