【发布时间】:2012-05-06 10:44:50
【问题描述】:
我只想在 DB2 中将当前日期格式化为yyyymmdd。
我看到了可用的日期格式,但我该如何使用它们?
SELECT CURDATE() FROM SYSIBM.SYSDUMMY1;
我没有看到任何直接使用上述格式的方法。
有什么建议吗?
【问题讨论】:
标签: sql date db2 date-format
我只想在 DB2 中将当前日期格式化为yyyymmdd。
我看到了可用的日期格式,但我该如何使用它们?
SELECT CURDATE() FROM SYSIBM.SYSDUMMY1;
我没有看到任何直接使用上述格式的方法。
有什么建议吗?
【问题讨论】:
标签: sql date db2 date-format
SELECT VARCHAR_FORMAT(CURRENT TIMESTAMP, 'YYYYMMDD')
FROM SYSIBM.SYSDUMMY1
应该适用于大型机和 Linux/Unix/Windows DB2。 Info Center entry for VARCHAR_FORMAT().
【讨论】:
CURRENT TIMESTAMP - 3 DAY
select to_char(current date, 'yyyymmdd') from sysibm.sysdummy1
结果:20160510
【讨论】:
另一种解决方案 REPLACE (CHAR(current date, ISO),'-','')
【讨论】:
当前日期为yyyy-mm-dd 格式。您可以使用substring函数将其转换为yyyymmdd格式:
select substr(current date,1,4)||substr(current date,6,2)||substr(currentdate,9,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
【讨论】: