Sql DB2错误。通过select查询插入到表

Sql DB2错误。通过select查询插入到表,sql,db2,Sql,Db2,我试图在使用表和子查询的查询中向表插入一些数据。子查询是使用case子句的地方,我得到一个错误:error[HY000][IBM][Controlador ODBC de iSeries Access][DB2 UDB]SQL0420-强制转换参数字符无效 我只有在运行insert命令时才会出现此错误。当我运行select命令时,没有错误。这就是问题所在 insert into qlib.table select a.fieldkey, a.field2, ifnull(n.firstdate

我试图在使用表和子查询的查询中向表插入一些数据。子查询是使用case子句的地方,我得到一个错误:error[HY000][IBM][Controlador ODBC de iSeries Access][DB2 UDB]SQL0420-强制转换参数字符无效

我只有在运行insert命令时才会出现此错误。当我运行select命令时,没有错误。这就是问题所在

insert into qlib.table 
select a.fieldkey, a.field2, ifnull(n.firstdate,0) as firstdate, ifnull(n.lastdate,0) as lastdate, n.totamount, n.timespan
from mainlib.tablea a
left join (select b.fieldkey, MIN(rtrim(b.year)||'-'||case when b.month<10 then '0'||b.month else rtrim(b.month)end) as firstdate, 
              MAX(rtrim(b.year)||'-'||case when b.month<10 then '0'||b.month else rtrim(b.month) end) as lastdate, sum(b.amount) as totamount, 
                  cast(count(b.year)/12 as char(2))||' Years '||cast(count(b.year)-(count(b.year)/12)*12 as char(2))||' Months' as  timespan
           from mainlib.tableb b
           group by b.fieldkey) n on n.fieldkey = a.fieldkey 
表B包含每月节省的费用。子查询返回每个字段键的第一年储蓄月份、最后一年的月份、总金额以及每月储蓄的年和月跨度,前提是每个月都有储蓄/存款


子查询的cast子句有什么问题吗。同样,我只在尝试使用select命令插入qlib.table时出错

以下几点可能会清理您的查询:

当b.month