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)得到的字符串是不是有不时数字的?