DB2日期格式

问题描述 投票:13回答:5

我只想将当前日期格式化为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
5个回答
28
投票
SELECT VARCHAR_FORMAT(CURRENT TIMESTAMP, 'YYYYMMDD')
FROM SYSIBM.SYSDUMMY1

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


4
投票

还有一个解决方案REPLACE(CHAR(当前日期,ISO),' - ','')


2
投票

这不是直截了当的,但是

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

1
投票

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

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

-1
投票
select to_char(current date, 'yyyymmdd') from sysibm.sysdummy1

结果:20160510

© www.soinside.com 2019 - 2024. All rights reserved.