通配符过滤——LIKE、%、_

前面介绍的所有操作符都是针对已知值进行过滤的,但是这种过滤方式不是在什么时候都好用。利用通配符可以创建比较特殊数据的搜索模式

通配符:用来匹配值的一部分的特殊字符,为了使用通配符,必须使用LIKE操作符

搜索模式:由字面值、通配符或两者组合构成的搜索条件

 

  • % 通配符(最常使用的通配符是百分号%。在搜索串中,%表示任何字符出现任意次数)
  • 例如检索name字段,以小开头的词
SELECT * FROM user WHERE name LIKE '小%'
  •  通配符可以在搜索模式中任意位置使用,下面使用两个通配符,它们位于模式的两端
  • 请注意%匹配的是0个到多个字符
SELECT * FROM user WHERE name LIKE '%飞%'
  • _   通配符(下划线_通配符用途与%一样,但是它只匹配一个字符而不是多个)
SELECT * FROM user WHERE name LIKE '小_'

总结:

  1. MYSQL通配符很有用,但是这种功能是有代价的,通配符搜素效率要比其他搜索花的时间更长
  2. 注意通配符的位置,如果放错地方可能不会返回想要的数据
  3. 尾空格可能会干扰通配符匹配,例如在fly后面有一个或多个空格,则%fly将不会匹配它们,解决这个问题可以用%fly%去匹配,或者使用函数去掉首尾空格
  4. NULL也不能和通配符进行匹配
发布了138 篇原创文章 · 获赞 34 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/bbj12345678/article/details/105469443