【问题标题】:DB2 Date formatDB2 日期格式
【发布时间】:2012-05-06 10:44:50
【问题描述】:

我只想在 DB2 中将当前日期格式化为yyyymmdd

我看到了可用的日期格式,但我该如何使用它们?

http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z10.doc.intro%2Fsrc%2Ftpc%2Fdb2z_datetimetimestamp.htm

SELECT CURDATE() FROM SYSIBM.SYSDUMMY1;

我没有看到任何直接使用上述格式的方法。

有什么建议吗?

【问题讨论】:

    标签: sql date db2 date-format


    【解决方案1】:
    SELECT VARCHAR_FORMAT(CURRENT TIMESTAMP, 'YYYYMMDD')
    FROM SYSIBM.SYSDUMMY1
    

    应该适用于大型机和 Linux/Unix/Windows DB2。 Info Center entry for VARCHAR_FORMAT().

    【讨论】:

    • 那行得通。谢谢..你能告诉我如何从上述日期开始计算天数.................................................. ...................... 像 CURDATE() - ( 3 天 )
    • 看起来你已经拥有它了。 :) CURRENT TIMESTAMP - 3 DAY
    • 请记住,转换后的结果可能会在值的右侧包含空格,具体取决于 db2 版本。列结果将是 255 长。
    【解决方案2】:
    select to_char(current date, 'yyyymmdd') from sysibm.sysdummy1
    

    结果:20160510

    【讨论】:

    • 查询不工作。它返回: SQL0440N 未找到具有兼容参数的“FUNCTION”类型的名为“TO_CHAR”的授权例程。 SQLSTATE=42884
    • 在这里工作 - 对我来说最短和最好的解决方案。引自 DB2 文档:TO_CHAR 标量函数是 VARCHAR_FORMAT 标量函数的同义词。
    【解决方案3】:

    另一种解决方案 REPLACE (CHAR(current date, ISO),'-','')

    【讨论】:

      【解决方案4】:

      当前日期为yyyy-mm-dd 格式。您可以使用substring函数将其转换为yyyymmdd格式:

      select substr(current date,1,4)||substr(current date,6,2)||substr(currentdate,9,2)
      

      【讨论】:

        【解决方案5】:

        这并不简单,但是

        SELECT CHAR(CURRENT DATE, ISO) FROM SYSIBM.SYSDUMMY1
        

        以 yyyy-mm-dd 格式返回当前日期。您必须对结果进行子串化并连接才能获得 yyyymmdd。

        SELECT SUBSTR(CHAR(CURRENT DATE, ISO), 1, 4) ||
            SUBSTR(CHAR(CURRENT DATE, ISO), 6, 2) ||
            SUBSTR(CHAR(CURRENT DATE, ISO), 9, 2)
        FROM SYSIBM.SYSDUMMY1
        

        【讨论】:

        • 谢谢 .. 但这是唯一的方法吗?那么格式有什么用.... DATE_K YYYYMMDD ??
        • 我无法让 ALTDATE 函数在我的 DB2 上工作。我在答案中发布的内容有效。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-26
        • 1970-01-01
        • 2021-08-07
        相关资源
        最近更新 更多