SQL 通配符(四)

通配符可用于替代字符串中的任何其他字符。在 SQL 中,通配符与 SQL LIKE 操作符一起使用。SQL 通配符用于搜索表中的数据。

通配符 描述
% 替代 0 个或多个字符
_ 替代一个字符
[charlist] 字符列中的任何单一字符
[^charlist 或 [!charlist] 不在字符列中的任何单一字符

示例:

//查询所有Name以GK开头的数据
select * from Persons where Name like 'GK%';

搭配以上通配符可以让LIKE命令实现多种技巧:

1LIKE'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。

2LIKE'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。

3LIKE'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。

4LIKE'_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。

5LIKE'[CK]ars[eo]n' 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson。

6LIKE'[M-Z]inger' 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。

7LIKE'M[^c]%' 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如MacFeather)。

ESCAPE 关键字定义转义符:
转义符置于通配符之前时,该通配符就解释为普通字符

#要搜索一个字符串"g_",如果直接like "g_",那么"_"的作用就是通配符,而不是字符。
#我们会查到比如"ga","gb","gc",而不是我们需要的"g_". 用LIKE'gs_' ESCAPE 's' 's'表示特殊用法标志。
SELECT * FROM Persons WHERE Name LIKE 'gs_' ESCAPE 's'

#搜索在任意位置包含字符串5%的字符串:前后两个%作为通配符使用,中间的%经过ESCAPE 转义,作为普通字符使用
WHERE Name LIKE '%5/%%' ESCAPE '/'

你可能感兴趣的:(SQL学习记录,sql,通配符)