Sybase like 通配符 模糊查询

来源:互联网 发布:Java opencv单元像素 编辑:程序博客网 时间:2024/05/01 20:08
通配符           含义
%             任意包含0个或多个字符的字符串
_              任何单个字符
[]             指定范围([a-f]或集合[abcdef])内的任何单个字符
[^]           不在指定范围([^a-f]或集合[^abcdef])内的任何但个字符
例如  表中的数据
表  A 中有字段  QY_ID
          QY_ID
----------------------------
070100000217835
07010000021783a
07010000021783b
07010000021783c
07010000021783d
0701000002178aa
0701000002178ba
0701000002178ca
0701000002178da
------------------------------
共9条记录
前提条件:字段QY_ID为15为的char类型的字符,为了说明方便,记录只是最后两位不一样!
select  QY_ID  from  A  where  QY_ID  LIKE '0701000002178[^a]a'
意义:查找倒数第二位字符不为a而最后一位字符为a的记录
执行结果:
07010000021783a
0701000002178ba
0701000002178ca
0701000002178da
select  QY_ID  from  A  where  QY_ID  LIKE '0701000002178[^a-c]a'
意义:查找倒数第二位字符不为a到c之间的字符,而最后一位字符为a的记录
执行结果
07010000021783a
0701000002178da
共2条记录
4条记录
select  QY_ID  from  A  where  QY_ID  LIKE '07010000021783[^a-e]'
意义:[^]           不在指定范围([^a-f]或集合[^abcdef])内的任何但个字符
即:查找最后一位不在a到e之间的任意字符的记录
执行结果:
070100000217835
一条记录
select  QY_ID  from  A  where  QY_ID  LIKE '07010000021783[a-e]'
意义[]            指定范围([a-f]或集合[abcdef])内的任何单个字符
即查找最后一位为a到e之间的任意字符的记录
执行结果
07010000021783a
07010000021783b
07010000021783c
07010000021783d
4 条记录
select  QY_ID  from  A  where  QY_ID  LIKE '07010000021783_'
意义:_  任何但个字符,即查找最后一位为任意字符的记录,该语句和
select  QY_ID  from  A  where  QY_ID  LIKE '07010000021783%'执行结果一致
执行结果
070100000217835
07010000021783a
07010000021783b
07010000021783c
07010000021783d
5条记录
以上测试结果是在sybase12.5的数据库中执行的。
原创粉丝点击