Mysql之模糊查询

模型数据库数据:

1、like 模糊查询

sql语句:

SELECT *
FROM ksh
where name LIKE '%11%'

这个SQL语句没有走索引搜索,而是对全表进行了扫描,这显然是很慢的,还有卡库的可能。

查询结果:

2、LOCATE('substr',str,pos)方法

解释:返回 substr 在 str 中第一次出现的位置,如果 substr 在 str 中不存在,返回值为 0 。如果pos存在,返回 substr 在 str 第pos个位置后第一次出现的位置,如果 substr 在 str 中不存在,返回值为0。

 sql:

SELECT *
FROM ksh
WHERE LOCATE('11',name) > 0

3、POSITION('substr' IN `field`)方法

和locate()方法的作用是一样。

SELECT *
FROM ksh
WHERE POSITION('11' IN name)

4、INSTR(`str`,'substr')方法

SELECT *
FROM ksh
WHERE INSTR(`name`,'21')

 5、FIND_IN_SET(str1,str2):

返回str2中str1所在的位置索引,其中str2必须以","分割开。

SELECT *
FROM ksh
WHERE FIND_IN_SET('11',`name`)


版权声明:本文为inexaustible原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。