如何根据ISO得到Year/Week?
How to get Year/Week according to ISO?
我有下面的代码,它给出了第 202153 周。但是,我需要将 2021 年的第一周作为 202153,而不是 202053。
是否有任何内置功能可以解决这个问题?
SELECT
to_char(TO_DATE('20210104', 'YYYYMMDD') - 3, 'YYYYIW') AS yearweek
FROM
dual
预期输出:202053。我可以简单地解码该值,但我希望未来几年有更强大的解决方案。
使用 IYYY
(ISO 年)而不是 YYYY
(日历年)格式模型。
SELECT TO_CHAR( DATE '2021-01-04' - 3, 'IYYYIW') AS yearweek
FROM DUAL
输出:
YEARWEEK
202053
db<>fiddle here
我有下面的代码,它给出了第 202153 周。但是,我需要将 2021 年的第一周作为 202153,而不是 202053。
是否有任何内置功能可以解决这个问题?
SELECT
to_char(TO_DATE('20210104', 'YYYYMMDD') - 3, 'YYYYIW') AS yearweek
FROM
dual
预期输出:202053。我可以简单地解码该值,但我希望未来几年有更强大的解决方案。
使用 IYYY
(ISO 年)而不是 YYYY
(日历年)格式模型。
SELECT TO_CHAR( DATE '2021-01-04' - 3, 'IYYYIW') AS yearweek
FROM DUAL
输出:
YEARWEEK 202053
db<>fiddle here