SQL 通配符
在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。
SQL 通配符必须与 LIKE 运算符一起使用。
在 SQL 中,可使用以下通配符:
通配符 | 描述 |
---|---|
% | 替代一个或多个字符 |
_ | 仅替代一个字符 |
[charlist] | 字符列中的任何单一字符 |
[^charlist] 或者 [!charlist] |
不在字符列中的任何单一字符 |
SELECT * FROM Person.Contact WHERE LastName LIKE '_u' --选取名字的第一个字符之后是 "u" 的人Xu
SELECT * FROM Person.Contact WHERE LastName LIKE 'Ad%' --Ad开头
SELECT * FROM Person.Contact WHERE LastName LIKE '%[fk]%' --包含f或者k
SELECT * FROM Person.Contact WHERE LastName LIKE '[m-o]%' --以m,n,o开头
SELECT * FROM Person.Contact WHERE LastName LIKE 'a[^d]%' --以a开头,第二个字母不为d
例子 2
接下来,我们希望从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er":
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons WHERE LastName LIKE 'C_r_er'
例子 3
现在,我们希望从上面的 "Persons" 表中选取居住的城市不以 "A" 或 "O" 或 "F" 开头的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons WHERE City LIKE '[!AOF]%'