MySQL函數(shù)Locate的使用詳解
Locate函數(shù)主要的作用是判斷一個字符串是否包含另一個字符串,如
- Locate(str,sub) > 0,表示sub字符串包含str字符串;
- Locate(str,sub) = 0,表示sub字符串不包含str字符串。
該函數(shù)常常與<![CDATA[]]> 組件一起使用,該組件作用是防止字符串進行轉(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都可以用來實現(xiàn)模糊查詢,如下三條sql實現(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使用場景,需要加 <![CDATA[ ]]> SELECT * FROM party_course_study WHERE <![CDATA[ LOCATE(findCode, '00001') > 0 ]]>
功能類似的函數(shù)(不做詳細介紹)
- 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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用SKIP-GRANT-TABLES 解決 MYSQL ROOT密碼丟失
這篇文章主要介紹了使用SKIP-GRANT-TABLES 解決 MYSQL ROOT密碼丟失的相關(guān)資料,需要的朋友可以參考下2015-09-09Mysql啟動中 InnoDB: Error: log file ./ib_logfile0 is of differe
對于使用了默認 my.cnf(一般教程都會教你使用support-files/my-medium.cnf)的Mysql服務來說如果中間使用了innodb的話,innodb默認的log file大小是56M2011-05-05提升MySQL查詢效率及查詢速度優(yōu)化的四個方法詳析
查詢語句的優(yōu)化是提高MySQL查詢速度的重要方法,可以通過使用JOIN語句、子查詢、優(yōu)化where子句等方式來減少查詢的時間,下面這篇文章主要給大家介紹了關(guān)于提升MySQL查詢效率及查詢速度優(yōu)化的四個方法,需要的朋友可以參考下2023-04-04