gpt4 book ai didi

sql - Oracle周计算问题

转载 作者:行者123 更新时间:2023-12-04 06:58:11 24 4
gpt4 key购买 nike

我正在使用 Oracle 的 to_char() 函数将日期转换为周数 (1-53):

select  pat_id, 
pat_enc_csn_id,
contact_date,
to_char(contact_date,'ww') week,
...

“ww”开关为我提供了今年 1 月日期的这些值:
Date        Week
1-Jan-10 1
2-Jan-10 1
3-Jan-10 1
4-Jan-10 1
5-Jan-10 1
6-Jan-10 1
7-Jan-10 1
8-Jan-10 2
9-Jan-10 2
10-Jan-10 2
11-Jan-10 2
12-Jan-10 2

快速查看日历表明这些值应该是:
Date         Week
1-Jan-10 1
2-Jan-10 1
3-Jan-10 2
4-Jan-10 2
5-Jan-10 2
6-Jan-10 2
7-Jan-10 2
8-Jan-10 2
9-Jan-10 2
10-Jan-10 3
11-Jan-10 3
12-Jan-10 3

如果我使用 'iw' 开关而不是 'ww',结果不太理想:
Date         Week
1-Jan-10 53
2-Jan-10 53
3-Jan-10 53
4-Jan-10 1
5-Jan-10 1
6-Jan-10 1
7-Jan-10 1
8-Jan-10 1
9-Jan-10 1
10-Jan-10 1
11-Jan-10 2
12-Jan-10 2

是否有另一个 Oracle 函数可以按照我的预期计算周数,还是我需要自己编写?

编辑

我正在尝试匹配 Crystal Reports 使用的逻辑。每个完整的星期都从星期日开始;一年中的第一周从 1 月 1 日所代表的那一天开始(例如,在 2010 年,1 月 1 日是星期五)。

最佳答案

使用 IW 时,Oracle 遵循有关周数的 ISO 8601 标准(请参阅 http://en.wikipedia.org/wiki/ISO_8601)。这与我们在欧洲通常使用的标准相同。

Oracle 论坛上也提到了您的问题:http://forums.oracle.com/forums/thread.jspa?threadID=947291http://forums.oracle.com/forums/message.jspa?messageID=3318715#3318715 .也许你可以在那里找到解决方案。

关于sql - Oracle周计算问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2283663/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com