日期格式:DB2 _ SQL

Posted

技术标签:

【中文标题】日期格式:DB2 _ SQL【英文标题】:DATE FORMAT :DB2 _ SQL 【发布时间】:2021-11-04 18:06:34 【问题描述】:

我有日期格式 (TIMESTAMP),例如 2018-03-26-08.30.00.000000,我想得到它作为 2018-03-26-08 我如何在 DB2 中的 sql 中做到这一点(只是我想要年月-day-hour )'

【问题讨论】:

【参考方案1】:

阅读 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

【讨论】:

【参考方案2】:
VARCHAR_FORMAT(<timestamp>, '<desired format>')

所以:

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

【讨论】:

以上是关于日期格式:DB2 _ SQL的主要内容,如果未能解决你的问题,请参考以下文章

计算以下之间的 SQL db2 日期时间差

从十进制 (8, 0) 格式的日期获取 n-3 或 n-x 个月(约 90 天前),在 SQL Server 和 DB2 中具有年份变化影响

DB2日期格式更改的方法

DB2 日期格式

时间戳转为日期格式

DB2日期格式