【发布时间】:2023-03-05 03:17:01
【问题描述】:
我正在尝试比较两个 smallint 字段以查找差异。一个表是一个待处理的更改表,在晚上由批处理作业读取,然后在执行其他活动的同时更新另一个表。批处理作业有一些问题,我正在研究这些问题。我想找到那些不同的值,并在发生这种情况时显示待定表的值。
给我带来麻烦的特定列 (CO_FT_FREQ_DAY) 在 smallint 字段中有空值,我认为这是我的问题的原因。 (或者它可能是一个待处理的添加,因此没有可比较的匹配值......)如您所见,我已尝试解决此问题,但它仍然无法正常工作。
我在此之前尝试过 ifnull ,但得到了同样的错误。我希望这能解决问题。
SELECT T342.clientID
,T342.TS_340
,case when (case when t342.CO_FT_FREQ_DAY is null then 0 else
t342.CO_FT_FREQ_DAY end) <>
(case when t340.CO_FT_FREQ_DAY is null then 0 else
t340.CO_FT_FREQ_DAY end)
then T342.CO_FT_FREQ_DAY
else 0
end as CO_FT_FREQ_DAY
FROM database.PendingChangeTable T342
left outer join database.CurrentTable T340
on T340.ClientID = T342.ClientID
and T340.TS_PK = T342.TS_340
WHERE t342.clientID in (clientID list);
DSNT408I SQLCODE = -420,错误:字符串参数的值不是
接受 DECFLOAT 功能
DSNT418I SQLSTATE = 22018 SQLSTATE 返回码
【问题讨论】: