[转帖]sybase like 通配符 模糊查询
<p>---作者:jackcao<br/>---Email:caojack@gmail.com <br/>---MSN:weilake@hotmail.com<br/>通配符 含义<br/>% 任意包含0个或多个字符的字符串<br/>_ 任何单个字符<br/>[] 指定范围(或集合)内的任何单个字符<br/>[^] 不在指定范围([^a-f]或集合[^abcdef])内的任何但个字符<br/>例如 表中的数据<br/>表 A 中有字段 QY_ID QY_ID<br/>----------------------------<br/>070100000217835<br/>07010000021783a<br/>07010000021783b<br/>07010000021783c<br/>07010000021783d<br/>0701000002178aa<br/>0701000002178ba<br/>0701000002178ca<br/>0701000002178da<br/>------------------------------<br/>共9条记录<br/>前提条件:字段QY_ID为15为的char类型的字符,为了说明方便,记录只是最后两位不一样!<br/>select QY_ID from A where QY_ID LIKE '0701000002178[^a]a'<br/>意义:查找倒数第二位字符不为a而最后一位字符为a的记录<br/>执行结果:<br/>07010000021783a<br/>0701000002178ba<br/>0701000002178ca<br/>0701000002178da<br/>select QY_ID from A where QY_ID LIKE '0701000002178[^a-c]a' <br/>意义:查找倒数第二位字符不为a到c之间的字符,而最后一位字符为a的记录<br/>执行结果<br/>07010000021783a<br/>0701000002178da<br/>共2条记录<br/>4条记录<br/>select QY_ID from A where QY_ID LIKE '07010000021783[^a-e]'<br/>意义:[^] 不在指定范围([^a-f]或集合[^abcdef])内的任何但个字符<br/>即:查找最后一位不在a到e之间的任意字符的记录<br/>执行结果:<br/>070100000217835<br/>一条记录<br/>select QY_ID from A where QY_ID LIKE '07010000021783'<br/>意义[] 指定范围(或集合)内的任何单个字符<br/>即查找最后一位为a到e之间的任意字符的记录执行结果<br/>07010000021783a<br/>07010000021783b<br/>07010000021783c<br/>07010000021783d<br/>4 条记录<br/>select QY_ID from A where QY_ID LIKE '07010000021783_'<br/>意义:_ 任何但个字符,即查找最后一位为任意字符的记录,该语句和<br/>select QY_ID from A where QY_ID LIKE '07010000021783%'执行结果一致<br/>执行结果<br/>070100000217835<br/>07010000021783a<br/>07010000021783b<br/>07010000021783c<br/>07010000021783d<br/>5条记录<br/>以上测试结果是在sybase12.5的数据库中执行的。</p><p>转自:<a href="http://spaces.msn.com/jackcaoplace/blog/cns!89C41DD4CDB3F879!151.entry">http://spaces.msn.com/jackcaoplace/blog/cns!89C41DD4CDB3F879!151.entry</a></p> Good
页:
[1]