【发布时间】:2021-11-04 18:06:34
【问题描述】:
我有日期格式 (TIMESTAMP),例如 2018-03-26-08.30.00.000000,我想得到它作为 2018-03-26-08 我如何在 DB2 中的 sql 中做到这一点(只是我想要年月-day-hour )'
【问题讨论】:
我有日期格式 (TIMESTAMP),例如 2018-03-26-08.30.00.000000,我想得到它作为 2018-03-26-08 我如何在 DB2 中的 sql 中做到这一点(只是我想要年月-day-hour )'
【问题讨论】:
阅读 DB2 的手册: https://www.ibm.com/docs/en/db2-for-zos/12?topic=sf-char
使用该文档:
TO_TIMESTAMP() 将非标准格式转换为时间戳,在日期和小时之间使用破折号,将点作为小时/分钟和分钟/秒分隔符。TO_CHAR() 来返回我想要的格式的字符串。WITH
indata(ts) AS (
SELECT
TO_TIMESTAMP(
'2018-03-26-08.30.00.000000','YYYY-MM-DD-HH24.MI.SS.US'
)
FROM sysibm.sysdummy1
)
SELECT TO_CHAR(ts,'YYYY-MM-DD-HH24') AS new_format FROM indata;
new_format
---------------
2018-03-26-08
【讨论】:
VARCHAR_FORMAT(<timestamp>, '<desired format>')
所以:
SELECT VARCHAR_FORMAT(CURRENT TIMESTAMP, 'YYYY-MM-DD-hh24')
FROM SYSIBM.SYSDUMMY1
【讨论】: