sql 中like 用法

  • 格式:rtf
  • 大小:56.45 KB
  • 文档页数:2

通配符说明(为了方便看注意格式)
LIKE是另一个在where子句中会用到的指令。

基本上,like能让我们依据一个套式(pattern) 来找出我们要的资料。

相对来说,在运用in的时候,我们完全地知道我们需要的条件;在运用between的时候,我们则是列出一个范围
_ 与任意单字符匹配
% 与包含一个或多个字符的字符串匹配
[ ] 与特定范围(例如,[a-f])或特定集(例如,[abcdef])中的任意单字符匹配。

[^] 与特定范围(例如,[^a-f])或特定集(例如,[^abcdef])之外的任意单字符匹配。

例子:
• where lastname like '_im' 可以找到所有三个字母的、以im 结尾的名字(例如,Jim、Tim)。

• where lastname like '%stein' 可以找到姓以stein 结尾的所有员工。

• where lastname like '%stein%' 可以找到姓中任意位置包括stein 的所有员工。

• where lastname like '[JT]im' 可以找到三个字母的、以im 结尾并以J 或T 开始的名字(即仅有Jim 和Tim)
•where lastname like 'm[^c]%' 可以找到以m 开始的、后面的(第二个)字母不为c 的所有姓
Like的运用场合主要在模糊查询的时候,一般以查询字符串居多,这里据一些例子来说他的一般用法:
例1,查询name字段中包含有“明”字的。

select * from table1 where name like ‘%明%’
这里不要使用*来代替,一般在使用0个或者任意个字符构成的字符串的时候最好使用% 不过在首或尾使用可以相互替换,如果在头尾同时使用的话,就必须要使用%
例2,查询name字段中以“李”字开头。

select * from table1 where name like ‘李*’
或者
select * from table1 where name like ‘李%’
例3,查询name字段中含有数字的。

select * from table1 where name like ‘%[0-9]%’
例4,查询name字段中含有小写字母的。

select * from table1 where name like ‘%[a-z]%’
例5,查询name字段中不含有数字的。

select * from table1 where name like ‘%[!0-9]%’
补充一点,?或者_表示单个字符。