今天想在DB2数据库的卡表中查询一个卡尾号为9812的数据,使用SQL语句:select * from cardinfo where cardno like '%9812' ,死活查不出来。
解决办法,查看了下cardno的数据类型是char 32的,DB2在用通配符%时会自动将char数据补齐到32位,不足的在后面补零,cardno的位数是19位,所以尾号9812后面还需要补13位,所以查询时需要使用占位符'_'将后面的位数补齐,使用以下SQL语句可以查询出结果:
select * from cardinfo where cardno like '%9812_____________'