在hive sql中计算两天之间的天数,不包括周末(星期六和星期日)

oknwwptz  于 8个月前  发布在  Hive
关注(0)|答案(1)|浏览(113)

问题很简单,我有两个日期,并使用datediff()函数计算它们之间的所有天数。
例如:datediff('23/08/2023','30/08/2023')返回7,但它应该返回5,因为26-27/08/2023是周末。
你知道任何功能或有一个实际的解决方案如何计算它?越简单越好。感谢您的评分

3vpjnl9f

3vpjnl9f1#

This似乎是一个很好的解决方案。
在你的情况下,这将导致:

SELECT 
DATEDIFF(day, '2023/08/23', '2023/08/30') + 1 -
DATEDIFF(week, '2023/08/23', DATEADD(day, 1, '2023/08/30')) -
DATEDIFF(week, '2023/08/23', '2023/08/30')
AS DateDiff;

执行时,这导致了6个工作日,这似乎是正确的:二十三,二十四,二十五,二十八,二十九,三十。

相关问题