Mysql 模糊匹配(字符串str中是否包含子字符串substr)

一、LIKE         一般與 % 一同使用,相似於一個元字符的搜索。若substr不在str中,則返回0。
SELECT  'test' LIKE '%e%' as `ret`;  # 1
SELECT  'test' LIKE '%a%' as `ret`;  # 0


二、INSTR(str,substr) 返回字符串 str 中子字符串的第一次出現位置。若substr不在str中,則返回0。
SELECT INSTR('test', 't'); # 1
SELECT INSTR('test', 'a'); # 0



三、LOCATE(substr,str) 返回字符串 str中子字符串substr的第一次出現位置。若substr不在str中,則返回0。
LOCATE(substr,str,pos) 返回字符串 str中子字符串substr的第 pos位置後第一次出現位置。若substr不在str中,則返回0。
SELECT LOCATE('t','test'); # 1
SELECT LOCATE('a','test'); # 0

SELECT LOCATE('t','test',2); # 4


四、POSITION(substr IN str) 返回字符串 str中子字符串substr的第一次出現位置。若substr不在str中,則返回0。可看做LOCATE(substr,str)別名

SELECT POSITION('t' IN 'test'); # 1
SELECT POSITION('a' IN 'test'); # 0
相關文章
相關標籤/搜索