SQL中Like的语法
欢迎你~~
我等你很久了呢
你好! 这是我第一次写。请大家多多支持。
Like的运用场合主要在模糊查询的时候 , 一般以查询字符串居多 , 这里据一些例子来说他的一般用法:
首先是Like的语法:
SELECT “栏位名”
FROM “表格名”
WHERE “栏位名” LIKE {套式};
以下是几个例子:
- ‘A_Z’: 所有以 ‘A’ 起头,且以 ‘Z’ 为结尾的字串。例如: ‘ACZ’ 或者 ‘A3Z’ 都符合这一个模式,而
‘AKKZ’ 并不符合 (因为在 A 和 Z 之间有两个字原,而不是一个字原)。 - ‘ABC%’: 所有以 ‘ABC’ 起头的字串。例如,‘ABCD’ 和 ‘ABCABC’ 都符合这个套式。
- ‘%XYZ’: 所有以 ‘XYZ’ 结尾的字串。同理,例如,‘WXYZ’ 和 ‘ZZXYZ’ 都符合这个套式。
- ‘%AN%’: 所有含有 ‘AN’ 这个套式的字串。举例来说, ‘ok ANGELES’ 和 ‘1AN DIAOCHAN’
都符合这个套式。
我们将以上最后一个例子用在我们的 Info 表格上:
Name | Sales | Date |
---|---|---|
ok ANGELES | 222 | 2020- 01-15 |
1AN DIAOCHAN | 333 | 2020- 01-15 |
Dashes | 444 | 2020- 01-15 |
写代码:
SELECT * FROM Info --表名
where Name Like '%AN%'
查询结果:
Name | Sales | Date |
---|---|---|
ok ANGELES | 222 | 2020- 01-15 |
1AN DIAOCHAN | 333 | 2020- 01-15 |
补充:
- 查询name字段中包含有“变量”字的。
select * from 表名 where name like '%变量%'
这里不要使用*来代替,一般在使用0个或者任意个字符构成的字符串的时候最好使用%。
不过在首或尾使用可以相互替换,如果在头尾同时使用的话,就必须要使用%。
- 查询name字段中以“李”字开头。
select * from 表名 where name like '李*'
或者
select * from 表名 where name like '李%'
- 查询name字段中含有数字的。
select * from 表名 where name like '%[0-9]%'
- 查询name字段中含有小写字母的。
select * from 表名 where name like '%[a-z]%'
- 查询name字段中不含有数字的。
select * from 表名 where name like '%[!0-9]%'