MySQL函數(shù)Locate的使用詳解
Locate函數(shù)主要的作用是判斷一個(gè)字符串是否包含另一個(gè)字符串,如
- Locate(str,sub) > 0,表示sub字符串包含str字符串;
- Locate(str,sub) = 0,表示sub字符串不包含str字符串。
該函數(shù)常常與<![CDATA[]]> 組件一起使用,該組件作用是防止字符串進(jìn)行轉(zhuǎn)義。比如:
select * from stu s where <![CDATA[Locate(#{name},s.name)>0]]>
mysql的instr函數(shù)有著相似的功能,instr(str,sub)返回的是字符串sub在字符串str第一次出現(xiàn)的位置,其中instr(str,sub) = 0 表示字符串str不包含字符串sub。
因此,locate,instr,like都可以用來(lái)實(shí)現(xiàn)模糊查詢,如下三條sql實(shí)現(xiàn)的功能是一樣的。
select * from stu s where s.name like concat('%',#{name},'%') ; select * from stu s where instr(s.name,#{name}) > 0; select * from stu s where locate(#{name},s.name) > 0;
示例
SELECT * FROM party_course_study WHERE LOCATE(findCode, '00001') >0 // 注:Mybatis使用場(chǎng)景,需要加 <![CDATA[ ]]> SELECT * FROM party_course_study WHERE <![CDATA[ LOCATE(findCode, '00001') > 0 ]]>
功能類似的函數(shù)(不做詳細(xì)介紹)
- LOCATE(substr,str) ,
- LOCATE(substr,str,pos)
- POSITION(substr IN str)
- INSTR(str,substr)
到此這篇關(guān)于MySQL函數(shù)Locate的使用詳解的文章就介紹到這了,更多相關(guān)MySQL Locate函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
面試提問(wèn)mysql一張表到底能存多少數(shù)據(jù)
這篇文章主要為大家介紹了面試提問(wèn)mysql一張表到底能存多少數(shù)據(jù)的問(wèn)題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03使用SKIP-GRANT-TABLES 解決 MYSQL ROOT密碼丟失
這篇文章主要介紹了使用SKIP-GRANT-TABLES 解決 MYSQL ROOT密碼丟失的相關(guān)資料,需要的朋友可以參考下2015-09-09Mysql啟動(dòng)中 InnoDB: Error: log file ./ib_logfile0 is of differe
對(duì)于使用了默認(rèn) my.cnf(一般教程都會(huì)教你使用support-files/my-medium.cnf)的Mysql服務(wù)來(lái)說(shuō)如果中間使用了innodb的話,innodb默認(rèn)的log file大小是56M2011-05-05提升MySQL查詢效率及查詢速度優(yōu)化的四個(gè)方法詳析
查詢語(yǔ)句的優(yōu)化是提高M(jìn)ySQL查詢速度的重要方法,可以通過(guò)使用JOIN語(yǔ)句、子查詢、優(yōu)化where子句等方式來(lái)減少查詢的時(shí)間,下面這篇文章主要給大家介紹了關(guān)于提升MySQL查詢效率及查詢速度優(yōu)化的四個(gè)方法,需要的朋友可以參考下2023-04-04