欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据库通配符

程序员文章站 2022-04-09 21:27:31
SQL 通配符 在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。 SQL 通配符必须与 LIKE 运算符一起使用。 在 SQL 中,可使用以下通配符: [^charlist]或者[!charlist] 原始的表 (用在例子中的): Persons 表: 使用 % 通配符 例子 1 现在 ......

sql 通配符

在搜索数据库中的数据时,sql 通配符可以替代一个或多个字符。

sql 通配符必须与 like 运算符一起使用。

在 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 beijing

使用 % 通配符

例子 1

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

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

select * from persons where city like 'ne%'

结果集:

id lastname firstname address city
2 bush george fifth avenue new york

例子 2

接下来,我们希望从 "persons" 表中选取居住在包含 "lond" 的城市里的人:

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

select * from persons where city like '%lond%'

结果集:

id lastname firstname address city
1 adams john oxford street london

使用 _ 通配符

例子 1

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

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

select * from persons where firstname like '_eorge'

结果集:

id lastname firstname address city
2 bush george fifth avenue new york

例子 2

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

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

select * from persons where lastname like 'c_r_er'

结果集:

id lastname firstname address city
3 carter thomas changan street beijing
 

使用 [charlist] 通配符

例子 1

现在,我们希望从上面的 "persons" 表中选取居住的城市以 "a" 或 "l" 或 "n" 开头的人:

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

select * from persons where city like '[aln]%'

结果集:

id lastname firstname address city
1 adams john oxford street london
2 bush george fifth avenue new york

例子 2

现在,我们希望从上面的 "persons" 表中选取居住的城市不以 "a" 或 "l" 或 "n" 开头的人:

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

select * from persons where city like '[!aln]%'

结果集:

id lastname firstname address city
3 carter thomas changan street beijing

通配符转译

  项目中进行数据查询,当查询条件需支持模糊查询时,除了对查询条件进行特殊字符校验处理以外,还需对模糊查询的条件对通配符进行处理,以支持模糊查询功能正常实现。
通配符 转译后值
% \\%
_ \\_