【问题标题】:Is SYSDATE officially supported on db2?db2 是否正式支持 SYSDATE?
【发布时间】:2020-05-28 12:19:50
【问题描述】:

似乎 SYSDATE(如在 Oracle 中)在 Db2 上工作,即使使用不符合 Oracle 的设置 - 默认情况下,DB2_COMPATIBILITY_VECTOR 未设置为 ORA。

我能找到的唯一官方信息是:https://www.ibm.com/support/pages/node/236545

从 DB2 9.7 开始,SYSDATE 被标记为关键字,它是 作为 CURRENT TIMESTAMP(0) 或 CURRENT_TIMESTAMP(0) 的同义词的特殊寄存器。,

问题的背景:需要我的脚本同时在 Oracle 和 Db2 上运行。

我需要 Db2 风格的脚本还是可以只使用 SYSDATE 来处理这两者?

是否有指向该事实的官方文档的链接?

编辑: 根据@data_henrik 的评论

我同意文档说明

SYSDATE 也可以指定为 CURRENT TIMESTAMP(0) 的同义词。

但这只是 CAN。它没有说明它是。

编辑 2:

看来我阅读文档有误。谢谢@data_henrik。

【问题讨论】:

    标签: oracle db2 sysdate


    【解决方案1】:

    在此处查看CURRENT TIMESTAMP in Db2 上的文档。它指出:

    SYSDATE 也可以指定为 CURRENT TIMESTAMP(0) 的同义词。

    它是官方 Db2 文档的一部分,并且已在许多版本中出现。您可以使用“搜索”找到它... ;-)。

    【讨论】:

    • 当 Db2-server 在 Linux/Unix/Windows 或 Z/OS 上运行时,SYSDATE 是 CURRENT TIMESTAMP 的同义词。但对于 Db2-for-i (as/400) 可能并非如此。
    • @data_henrik 我确实找到了那个页面,但是您提供的链接上的声明是 在提供的链接上 SYSDATE 也可以指定为 CURRENT TIMESTAMP(0) 的同义词。 i> 所以它可以(而且,显然,它是),但我看不到说明它是的文档,所以我不必担心各种实现和版本。
    • "It can be specified as..." 表示您不需要使用它,您可以坚持使用 CURRENT TIMESTAMP(Db2 语法)。但是如果你有心情,或者同情Oracle语法,或者你需要使用它来实现兼容性,那么,是的,那么你可以使用它。
    猜你喜欢
    • 1970-01-01
    • 2015-10-27
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多