日期格式: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的主要内容,如果未能解决你的问题,请参考以下文章
从十进制 (8, 0) 格式的日期获取 n-3 或 n-x 个月(约 90 天前),在 SQL Server 和 DB2 中具有年份变化影响