日期格式:DB2 _ SQL

DATE FORMAT :DB2 _ SQL

我有像 2018-03-26-08.30.00.000000 这样的日期格式 (TIMESTAMP),我想把它设为 2018-03-26-08 我如何在 DB2 的 sql 中做到这一点(我只要年月日时)'

VARCHAR_FORMAT(<timestamp>, '<desired format>')

所以:

SELECT VARCHAR_FORMAT(CURRENT TIMESTAMP, 'YYYY-MM-DD-hh24')
FROM SYSIBM.SYSDUMMY1

阅读 DB2 手册: https://www.ibm.com/docs/en/db2-for-zos/12?topic=sf-char

使用该文档:

  1. 我需要使用 TO_TIMESTAMP() 将日期和小时之间带有破折号、点作为 hour/minute 和 minute/second 分隔符的非标准格式转换为时间戳。
  2. 根据获得的时间戳,我可以将 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