【问题标题】:Why does db2 timestampdiff return error SYSFUN:07?为什么 db2 timestampdiff 返回错误 SYSFUN:07?
【发布时间】:2021-07-26 00:13:51
【问题描述】:

给定这样的查询:

select timestampdiff(4, char(ORDER_DT - ORDER_DT)) as TEST
from mytable;

使用带有 IDAA 的 IBM DB2 z/OS 12,您可能会收到以下错误:

ROUTINE SYSFUN.TIMESTAMPDIFF (SPECIFIC NAME TIMESTAMPDIFF) 
HAS RETURNED AN ERROR SQLSTATE WITH DIAGNOSTIC TEXT SYSFUN:07.
SQLCODE=-443, SQLSTATE=38552.

【问题讨论】:

    标签: db2 db2-zos


    【解决方案1】:

    在某些情况下,char 转换可能会返回前导空格,因此 timestampdiff 参数将类似于 ' 00000000000000.000000'。此参数在某些情况下会返回SYSFUN:07 错误。

    解决方法是强制转换为 char(22):

    select timestampdiff(4, cast(ORDER_DT - ORDER_DT as char(22))) as TEST
    from mytable;
    

    【讨论】:

      猜你喜欢
      • 2011-12-02
      • 2014-12-04
      • 2012-02-04
      • 1970-01-01
      • 2014-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多