20

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

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

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;

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

有什么建议吗?

4

5 回答 5

42
SELECT VARCHAR_FORMAT(CURRENT TIMESTAMP, 'YYYYMMDD')
FROM SYSIBM.SYSDUMMY1

应该适用于大型机和 Linux/Unix/Windows DB2。 的信息中心条目VARCHAR_FORMAT()

于 2012-04-25T18:18:13.857 回答
4

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

于 2013-04-18T19:11:22.673 回答
2
select to_char(current date, 'yyyymmdd') from sysibm.sysdummy1

结果:20160510

于 2016-05-10T17:15:49.433 回答
1

这并不简单,但

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
于 2012-04-25T17:59:18.447 回答
1

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

select substr(current date,1,4)||substr(current date,6,2)||substr(currentdate,9,2)
于 2012-07-24T18:07:52.803 回答