8. 用通配符进行过滤
1. Like操作符
- 通配符(wildcard)用来匹配值的一部分的特殊字符
1.1. 百分号(%)通配符
在搜索串中,%表示任何字符出现任意次数。
通配符可在搜索模式中任意位置使用,并且可以使用多个通配符。下面的例子使用两个通配符,它们位于模式的两端
通配符也可以出现在搜索模式的中间,虽然这样做不太有用。下面的例子找出以s起头以e结尾的所有产品:
注意尾空格尾空格可能会干扰通配符匹配。例如,在保存词anvil时,如果它后面有一个或多个空格,则子句WHERE prod_name LIKE '%anvil'将不会匹配它们,因为在最后的l后有多余的字符。解决这个问题的一个简单的办法是在搜索模式最后附加一个%。一个更好的办法是使用函数(第11章将会介绍)去掉首尾空格。
注意NULL虽然似乎%通配符可以匹配任何东西,但有一个例外,即NULL。即使是WHERE prod_name LIKE '%'也不能匹配用值NULL作为产品名的行
1.2. 下划线(_)通配符
2. 使用通配符的技巧
- 通配符搜索的处理一般要比前面讨论的其他搜索所花时间更长
8. 用通配符进行过滤
http://binbo-zappy.github.io/2024/11/27/mysql_bzbh/8-用通配符进行过滤/