当需要需要匹配字段的所有记录,需要在WHERE条件中使用SQL LIKE子句
SQL LIKE子句中使用百分号%字符来表示任意字符,类似于UNIX或正则表达式中的星号*
以下是SQL SELECT语句使用LIKE子句从数据表中读取数据的通用语法:
SELECT field1, field2,...fieldN
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
在where like的条件查询中,SQL 提供了四种匹配方式
%:表示任意 0 个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示_:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句[]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个[^]:表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符
查询内容包含通配符时,由于通配符的缘故,导致我们查询特殊字符 %、_、[ 的语句无法正常实现,而把特殊字符用 [ ] 括起便可正常查询。
like匹配/模糊匹配,会与%和_结合使用:
'%a' //以a结尾的数据
'a%' //以a开头的数据
'%a%' //含有a的数据
'_a_' //三位且中间字母是a的
'_a' //两位且结尾字母是a的
'a_' //两位且开头字母是a的