【SQL必知必会】笔记 SQL通配符

通配符:

  • WHERE子句中用于筛选
  • 用来匹配值的一部分的特殊字符
  • 通配符只能用于文本字段(字符串),不能用于非文本数据类型的数据
  • 使用通配符时,必须使用LIKE操作符

1. 百分号(%)通配符

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

  1. 比方说,想要表中找名字以jet开头的产品的产品id和产品名称,用’jet%'表示
SELECT prod_id, prod_name FROM products WHERE prod-name LIKE  'jet%';
  1. 可以搜索任意位置出现特定字符的,比如说找名字中包含文本anvi的产品的产品id和产品名称
    ’%anvil%'表示匹配任何位置包含文本anvil的值,而不论它之前或之后出现什么字符
SELECT prod_id, prod_name FROM products WHERE prod_name LIKE '%anvi1%';

显示结果如下
在这里插入图片描述

  1. 还可以搜索特定开头和特定结尾
    例如:找出以s起头以e结尾的所有产品 ,用 's%e’表示
SELECT prod_nameFROM productsWHERE prod name LIKE 's%e';

注意:%通配符不能匹配NULL值。

2. 下划线(_)通配符

下划线的用途与%一样,但下划线只匹配单个字符而不是多个字符 。用下面两个例子来查看下划线和%的差别:

SELECT prod_id, prod_name FROM products WHERE prod_name LIKE  '_ton anvil';

在这里插入图片描述

第一行中下划线匹配1,第二行中匹配2。 .5 ton anvil产品没有匹配,因为搜索模式要求匹配1个通配符。对照一下,下面的SELECT语句使用%通配符,返回三行产品 :

SELECT prod_id, prod_name FROM products WHERE prod-name LIKE '% ton anvil';

在这里插入图片描述

总结:%能匹配0个,1个字符或者多个通配符, _总是匹配一个字符,不能多也不能少

使用通配符的技巧和要点

  • 配符搜索的处理一般要比前面讨论的其他搜索所花时间更长。 所以不要过度使用通配符。如果其他操作符能达到相同的目的,应该使用其他操作符。
     在确实需要使用通配符时,除非绝对有必要,否则不要把它们用
    在搜索模式的开始处。把通配符置于搜索模式的开始处,搜索起
    来是最慢的。
     仔细注意通配符的位置。如果放错地方,可能不会返回想要的数 据 。

猜你喜欢

转载自blog.csdn.net/qq_41855768/article/details/83956355