我有一个日期字段(CHAR数据类型),其格式为以下格式:YYYYMMDD。
例如20140729。
我想将其转换为格式为YYYYWKNO
的周数例如,结果将是201432。
如何在 IBM DB2?
中完成此操作答案 0 :(得分:2)
幸运的是,DB2有一些非常好的日期格式化功能。虽然文档的链接适用于DB2 for Linux / Unix / Windows,但它也适用于DB2 for z / OS。
您可以使用TIMESTAMP_FORMAT()
将CHAR
字段转换为实际日期,然后您可以使用VARCHAR_FORMAT()
按照您希望的方式对其进行格式化:
SELECT
VARCHAR_FORMAT(
TIMESTAMP_FORMAT(
'20140801'
,'YYYYMMDD'
)
,'YYYYWW'
)
FROM SYSIBM.SYSDUMMY1
“周”有两种不同的格式,一种是WW
,它将根据从1月1日开始到1月7日结束的一周和IW
给出一周,这将给出ISO Week.。有关其他可用格式,请参阅VARCHAR_FORMAT
的文档页面。