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的一些问题
-
字符后面有空格的问题
比如 " aaatest " ,test后面有几个空格的话,搜索模式"%test"就不行了。
必须也要匹配后的空格。"%test%"这样的就可以匹配 -
注意NULL,LIKE ‘%’ 不会匹配值为NULL的行
_通配符(只能匹配一个字符,不像%那样可以是0个或者多个)
SELECT * FROM Persons
WHERE LastName LIKE 'C_r_er'
[ ]通配符
只有微软的Access和SQL server支持。