MySQL模糊查询like总结

1. MySql的like语句中的通配符:百分号、下划线和escape(以及转译符\)

表如下:

id name
1 as%d_
2 zxcd
3 a_ad
4 as%d
5 fff%
  • %:表示任意个数字符。可匹配任意类型和长度的字符。
# 查询name的值包含s的
SELECT `name` FROM `test1` WHERE `name` LIKE '%s%';

结果如下 :

id name
1 as%d_
4 as%d
  • _:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:(可以代表一个中文字符)
# 查询name的值第二个字符为x的
SELECT * FROM `test1` WHERE `name` LIKE '_x%';

结果如下 :

id name
2 zxcd
  • escape用来转译特殊字符,使%或_不作为通配符,可以当做一般字符来like查询
# 1.查询name的值包含字符_的,使用ESCAPE 将/变为转译字符,转义字符后面的_不作为通配符
SELECT * FROM `test1` WHERE `name` LIKE '%/_%' ESCAPE '/';
# 2.直接使用转译字符\也可以使后面的_不作为通配符,但是不能跟在ESCAPE后面使用
SELECT * FROM `test1` WHERE `name` LIKE '%\_%';

结果如下 :

id name
1 as%d_
3 a_ad

你可能感兴趣的:(MySQL模糊查询like总结)