首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么Redshift datediff给出了不同的星期,而它是相同的天数差异?

为什么Redshift datediff给出了不同的星期,而它是相同的天数差异?
EN

Stack Overflow用户
提问于 2019-03-28 10:43:20
回答 1查看 838关注 0票数 1

我在试着计算两天之间的周数。当差值是8天时,我应该有1到2周的时间,这取决于Redshift中的函数是如何工作的(向上或向下舍入)。但是,无论它选择哪种方式,它都应该是一致的

我意识到我可以简单地取天数,然后除以7,然后进行一次舍入或一次CEIL,但我只是试图理解为什么当两个日期相差8天时,DATEDIFF(weeks,date1,date2)会提供1或2。

代码语言:javascript
复制
SELECT
DATEDIFF(weeks, '2019-03-17', '2019-03-25') AS week_difference1,
DATEDIFF(days, '2019-03-17', '2019-03-25') AS day_difference1,

DATEDIFF(weeks, '2019-03-16', '2019-03-24') AS week_difference2,
DATEDIFF(days, '2019-03-16', '2019-03-24') AS day_difference2

结果: week_difference1 =1

day_difference1 =8

week_difference2 =2

day_difference2 =8

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-29 07:23:12

与许多来自美国的软件产品一样,Redshift一周的第一天(至少就DATEDIFF而言)是星期天,而不是星期一的ISO标准。因此,在计算两个日期之间的周数时,边界是星期六/星期日。

在您的示例中,2019年3月16日到2019年3月24日之间的8天跨越了两个星期的界限(一个在3月16/17,另一个在3月23/24 ),因此结果DATEDIFF值是2(跨越两个星期的界限)。

但是,3月17日和3月25日之间的8天仅跨越一周边界(3月23日/24日),因此结果DATEDIFF值为1。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55389416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档