SQL 通配符
在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。
SQL 通配符必须与 LIKE 运算符一起使用。
| 通配符 | 描述 |
|---|---|
| % | 替代一个或多个字符 |
| _ | 仅替代一个字符 |
| [charlist] | 字符列中的任何单一字符 |
|
[^charlist] 或者 [!charlist] |
不在字符列中的任何单一字符 |
注释: "%" 的使用请看上一节
使用 _ 通配符
实例1:
从 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人:
SELECT * FROM Persons WHERE FirstName LIKE '_eorge'
实例2:
从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er":
SELECT * FROM Persons WHERE LastName LIKE 'C_r_er'
使用 [charlist] 通配符
实例1:
从 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:
SELECT * FROM Persons WHERE City LIKE '[ALN]%'
实例2:
从 "Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人:
SELECT * FROM Persons WHERE City LIKE '[!ALN]%'
注释: 上面的 [charlist] 语法在 MySQL 不适用。必须以正则表达式代替,正确如下:
REGEXP 或者 RLIKE 关键字均可
SELECT * FROM Persons WHERE City RLIKE '^[ALN]'
如果要区别大小写,使用 binary 关键字
SELECT * FROM Persons WHERE City REGEXP binary '^[^ALN]'