gpt4 book ai didi

sql - Oracle SQL - 计算两个日期之间的连续周数

转载 作者:行者123 更新时间:2023-12-01 05:13:13 33 4
gpt4 key购买 nike

我需要计算两个日期之间的连续周数,目前我可以通过使用部分完成

select
(next_day(TO_DATE('01-01-1994', 'DD/MM/YYYY'), 'MONDAY')-next_day(TO_DATE('01-01-1995',
'DD/MM/YYYY'), 'MONDAY'))/7 countinous_weeks
from dual;

两个日期之间已经过去了 52 周,但是当我查看“01-01-1994”的最后一周时,我得到了 53 周。
select 
to_char(TO_DATE('31-12-1994', 'DD/MM/YYYY'),'ww') as last_week_test
from dual;

很明显理解为什么会发生这种情况,但如果有人能想出一种无需使用 next_day 就可以连续计算周数的方法,我将不胜感激,因为我认为这是问题所在。

非常感谢您提前提供任何提示。

最佳答案

您可以使用 trunc每天的功能是这样的:

select (trunc(TO_DATE('01-01-1994', 'DD/MM/YYYY'),'d')-trunc(TO_DATE('01-01-1995',
'DD/MM/YYYY'),'d'))/7 countinous_weeks from dual;

你不应该使用 next_day因为你可以跳出当前的一周。我希望这有帮助。

关于sql - Oracle SQL - 计算两个日期之间的连续周数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22836148/

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