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

1、LIKE         通常与 % 一同使用,类似于一个元字符的搜索。若substr不在str中,则返回0。
SELECT  'test' LIKE '%e%' as `ret`;  # 1
SELECT  'test' LIKE '%a%' as `ret`;  # 0


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



3、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


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

 

posted on 2019-01-03 11:19  你看我哪里像好人  阅读(2608)  评论(0编辑  收藏  举报

导航