急db2 cast 转换有关问题

急!!!!!!!!db2 cast 转换问题
select   dkqx_ys,   sum(dkje)   fse,   sum(zcll*dkje)/sum(dkje)   jqpjll
from   crd_dbdktz
where   dkje   >   0.00
and   length(trim   (qdrq   )   )=10
and   cast(   substr(qdrq,6,2)   as   integer)   > 1
and   cast(   substr(qdrq,6,2)   as   integer) <=   3
and   ywpz   not   in( '010007 ', '010008 ')
group   by   dkqx_ys
order   by   dkqx_ys

这条语句我在   informix   库中运行正常
在db2   下运行报错
SQL0420N   在函数的   integer   的字符串自变量中发现无效字符,
怎么解决!谢谢各位大侠

------解决方案--------------------
cast( substr(qdrq,6,2) as bigint)
------解决方案--------------------
qdrq 是不是包含了非数字内容
------解决方案--------------------
substr(qdrq,6,2)得到的字符串是不是有不时数字的?