在IBM DB2中将Date字段转换为Week Number

时间:2014-08-01 13:19:26

标签: db2

我有一个日期字段(CHAR数据类型),其格式为以下格式:YYYYMMDD。

例如20140729。

我想将其转换为格式为YYYYWKNO

的周数

例如,结果将是201432。

如何在 IBM DB2?

中完成此操作

1 个答案:

答案 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的文档页面。