MySQL基础之MySQL必知必会(八)用通配符进行过滤

时间:2020-07-23 23:16:12   收藏:0   阅读:94

LIKE操作符

利用通配符可创建比较特定数据的搜索模式。

通配符(wildcard): 用来匹配值的一部分的特殊字符。

搜索模式(search pattern) 由字面值、通配符或两组组合构成的搜索条件。

通配符本身实际是SQL的WHERE子句中有特殊含义的字符。SQL支持几种通配符。

为在搜索中使用通配符, 必须使用LIKE操作符。LIKE指示MySQL, 后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较。

百分号(%)通配符

%表示任何字符出现任意次数。

MariaDB [crashcourse]> SELECT prod_id, prod_name FROM products WHERE prod_name LIKE jet%;
+---------+--------------+
| prod_id | prod_name    |
+---------+--------------+
| JP1000  | JetPack 1000 |
| JP2000  | JetPack 2000 |
+---------+--------------+
2 rows in set (0.002 sec)

MariaDB [crashcourse]> 

在执行这条语句的时候, 将检索任意以jet开头的词。

通配符可在搜索模式中任意位置使用, 并且可以使用多个通配符。

注意尾空格

尾空格可能会干扰通配符匹配。

注意NULL

虽然似乎%通配符可以匹配任何东西, 但是不能匹配NULL

下划线(_)通配符

下划线的用途与%一样。但下划线只匹配单个字符而不是多个字符

MariaDB [crashcourse]> SELECT prod_id, prod_name FROM products WHERE prod_name LIKE _ ton anvil;
+---------+-------------+
| prod_id | prod_name   |
+---------+-------------+
| ANV02   | 1 ton anvil |
| ANV03   | 2 ton anvil |
+---------+-------------+
2 rows in set (0.000 sec)

MariaDB [crashcourse]> 

 

使用通配符的技巧

通配符搜索的处理一般要比其他搜索所花的时间更长

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!