SQL第6课__用通配符进行过滤

LIKE操作符

通配符
用来匹配值的一部分的特殊字符。
搜索模式
由字面值,通配符或者两者组合构成的搜索条件。
如:’%test’ ,这个就是搜索模式,表示任意以test结尾的字符串

通配符实际上是sql的wehere子句的特殊含义的字符,sql支持几种通配符。为在搜索子句中使用通配符,必须使用LIKE操作符。
LIKWE指示DBMS,后跟的搜索模式利用通配符匹配而不是简单的相等的进行比较
通配符只能用于文本字段(串),非文本数据类型字段不能使用。

在这里插入图片描述

%通配符(区别大小写)Fish和fish就不匹配了

注意:%代表搜索模式中给定位置的0个,1个,多个字符。

SELECT vend_id,prod_name,prod_price
FROM products
WHERE prod_name LIKE 'Fish%'

在这里插入图片描述
NOT

SELECT vend_id,prod_name,prod_price
FROM products
WHERE prod_name NOT LIKE 'Fish%'

在这里插入图片描述

LIKE的一些问题

  1. 字符后面有空格的问题
    比如 " aaatest        " ,test后面有几个空格的话,搜索模式"%test"就不行了。
    必须也要匹配后的空格。"%test%"这样的就可以匹配

  2. 注意NULL,LIKE ‘%’ 不会匹配值为NULL的行

_通配符(只能匹配一个字符,不像%那样可以是0个或者多个)

SELECT * FROM Persons
WHERE LastName LIKE 'C_r_er'

[ ]通配符

只有微软的Access和SQL server支持。

猜你喜欢

转载自blog.csdn.net/qq_40803626/article/details/88775040