MySQL中的通配符

在 SQL 中,可使用以下通配符:

通配符 描述
% 替代一个或多个字符
_ 仅替代一个字符
[charlist] 字符列中的任何单一字符

[^charlist]

或者

[!charlist]

不在字符列中的任何单一字符

原始的表 (用在例子中的):

Persons 表:

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Bei_jing

 

 

1.使用 % 通配符

例子 (1)

现在,我们希望从上面的 "Persons" 表中选取居住在以 "Ne" 开始的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Person WHERE City LIKE  Ne%

例子 (2)

我们希望从 "Persons" 表中选取居住在包含 "lond" 的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons WHERE  City LIKE  %lond%

 

2.使用 _ 通配符

例子 (1)

现在,我们希望从上面的 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons WHERE FisrstName LIKE  _eorge

 

例子 (2)

接下来,我们希望从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er":

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons  WHERE LastName LIKE C_r_er

 

例子 (3)

现在我们看到第三个人的地址北京中有字符_, 我们希望从 "Persons" 表中选取第4个字符是_的记录,此时遇到问题就是_字符是通配符,我们的做法就是使用转移字符。

第一种方法:SELECT * FROM Persons WHERE  City LIKE  ___\_%
第二种方法:SELECT * FROM Persons WHERE  City LIKE  ___$_%  ESCAPE $‘‘

 

3.使用 [charlist] 通配符

例子 (1)

现在,我们希望从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons WHERE City LIKE [ALN]%

 

例子 (2)

现在,我们希望从上面的 "Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons WHERE City LIKE [!ALN]%

 

MySQL中的通配符

上一篇:SQL-视图与存储过程


下一篇:kubernetes 1.18.x 高可用二进制部署