【发布时间】:2021-07-22 21:02:13
【问题描述】:
我有下面的代码,它给出了第 202153 周。但是,我需要将 2021 年的第一周改为 202153,而不是 202053。
是否有任何内置功能可以解决这个问题?
SELECT
to_char(TO_DATE('20210104', 'YYYYMMDD') - 3, 'YYYYIW') AS yearweek
FROM
dual
预期输出:202053。我可以简单地解码该值,但我希望未来几年有一个更强大的解决方案。
【问题讨论】:
-
可能使用符合 ISO-8601 的官方格式:
TO_CHAR(..., 'IYYY"W"IW'),以避免格式不明确YYYYMM -
对不起,你说的模棱两可是什么意思?
-
根据 ISO-8601
202112表示“2021 年 12 月”。 2021 年第 12 周的官方格式为2021-W12或2021W12。