今天执行一个sql报错:
SQLSTATE 22018: 对于 CAST、DECIMAL、FLOAT、或 INTEGER
标量函数,字符值是无效的。
1.原始sql
select t.* from (
select int(right(a.id,3)) as nodeseq , a.* from DB2ADMIN.WF_NODE a where a.TEMPLATEHANDLE='9546F28BF71AF6D40003000000000000' and a.KIND = 1
)t
where t.nodeseq = 1
;
2.实在找不出原因,换了种写法
select * from (
select rownumber() over(order by t1.seq) as nodeseq,t1.* from(
select int(right(a.id,3)) as seq,a.* from DB2ADMIN.WF_NODE a where a.TEMPLATEHANDLE='9546F28BF71AF6D40003000000000000' and a.KIND = 1
)t1
)t2 where t2.nodeseq >1 ;
才执行成功! 盼求原因?!