SQL中的模糊查询

来源:互联网 发布:linux arp a 编辑:程序博客网 时间:2024/05/17 04:42
%        包含零个或任意多个字符_(下划线)        单个字符[]        指定范围的单个字符(只占一个字符的位置)[^]        非(指定范围的单个字符)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'