SQL中的模糊查询符号问题

View Code
% 包含零个或任意多个字符
_(下划线) 单个字符
[] 指定范围的单个字符(只占一个字符的位置)
[^] 非(指定范围的单个字符)
ESCAPE LIKE 的一个子句
就先解释这些吧,,不明白的看例子。。

...
where fieldname like 'BUG%'
//字符串字段中前三个字母带'BUG'的都是符合条件的记录
//例:'BUGd','BUGdefg','BUG','BUG42'....

...
where fieldname like '%BUG'
//字符串字段中后三个字母带'BUG'的都是符合条件的记录
//例:'dBUG','23BUG','( BUG','BUG'....

...
where fieldname like '%BUG%'
//字符串字段中带'BUG'的都是符合条件的记录(不管'BUG'在什么位置上)
//例:'BUG','aBUGc','BUGBUG',BUGeeBUG'....

... where fieldname like
'%BUG%gft%'
//字段中带
'BUG''gft'的记录都符合条件('BUG''gft'是有前后顺序的)
//例:
'BUGgft','aBUGxgft','$BUG$gft'....
//错误:
'agftBUG'

... where fieldname like
'_BUG'
//字段中第二、三、四个字母为
'B''U''G'是符合条件的记录
//例:
'nBUG','3BUG','*BUG'....
//错误:
'BUGe','3BUGa'

... where fieldname like
'B_U_G'
//字段中第一、三、五个字母为
'G''U''G'是符合条件的记录
//例:
'BbUuG','B3U4G'....

... where fieldname like
'_B%'
//第一个是任意字符第二个为
'B'后面为任意多个字符或后面没有字符
//例:
'cB','aBa','5Bbc'....

... where fieldname like
'BUG_%'
//符合条件的记录最少为四个字符(前三个是固定的第四个是任意的)
//例:
'BUG3','BUG+','BUG258'....
//错误:
'BUG'

... where fieldname like
'BU[fy]'
//前两个字母为
'BU'第三个字母为'f''y'
//例:
'BUf','BUy'
//错误:
'BU','BUfy'

... where fieldname like
'B[w-z]G'
//第二个字母为
'w','x','y','z',一三个为'B','G'
//例:
'BwG','BxG','ByG','BzG'

... where fieldname like
'[aew-z]UG'
//例:
'aUG','eUG','wUG','xUG','yUG','zUG'

... where fieldname like
'B[^ae]G'
//例:
'BbG','B3G','B?G','B@G'....(除了第二个字母为'a''e'的所有记录)

通配符
'[]'还有一个作用就是可以包含字符'%''_'(就是把百分号和下划线当成普通的单个字符而不是通配符)
like
'35.5[%]'
//只能找出共五个字符的
'35.5%'
//如果在
'%'两边不加‘[]’会找出前四个字符为'35.5'的记录

like
'O[_]O'
//同上也只能找出
'O_O'
posted on 2011-03-31 14:08  卡域克  阅读(363)  评论(0)    收藏  举报