在搜索数据库中的数据时,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 |
现在,我们希望从上面的 "persons" 表中选取居住在以 "ne" 开始的城市里的人:
我们可以使用下面的 select 语句:
select * from persons where city like 'ne%'
id | lastname | firstname | address | city |
---|---|---|---|---|
2 | bush | george | fifth avenue | new york |
接下来,我们希望从 "persons" 表中选取居住在包含 "lond" 的城市里的人:
我们可以使用下面的 select 语句:
select * from persons where city like '%lond%'
id | lastname | firstname | address | city |
---|---|---|---|---|
1 | adams | john | oxford street | london |
现在,我们希望从上面的 "persons" 表中选取名字的第一个字符之后是 "eorge" 的人:
我们可以使用下面的 select 语句:
select * from persons where firstname like '_eorge'
id | lastname | firstname | address | city |
---|---|---|---|---|
2 | bush | george | fifth avenue | new york |
接下来,我们希望从 "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 |
现在,我们希望从上面的 "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 |
现在,我们希望从上面的 "persons" 表中选取居住的城市不以 "a" 或 "l" 或 "n" 开头的人:
我们可以使用下面的 select 语句:
select * from persons where city like '[!aln]%'
id | lastname | firstname | address | city |
---|---|---|---|---|
3 | carter | thomas | changan street | beijing |
通配符 | 转译后值 |
---|---|
% | \\% |
_ | \\_ |
如对本文有疑问, 点击进行留言回复!!
网友评论