配置单元中的datediff函数

sycxhyv7  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(415)

关于 DateDiff 功能

select datediff(current_date, '-2018-01-21');

是什么 - 据我所知,这里 datediff(enddata,startdate) 如果我们提到负 startdate 它得到的是数值 1474138 请帮我理解一下

ve7v8dk2

ve7v8dk21#

下面的查询确认负日期类似于负整数。如果将负数减去正数,则等于将它们的绝对值相加(忽略符号)。例如;8 - (-4) = 8 + 4
因此,由于日期类型的最小日期值为“0000-01-01”,因此我们度量从-2018年到0000年的天数,并将从0000到2018年的天数相加。然后,我们得到1474137(=737122+737015)。希望这有帮助。谢谢。

Query:
    select datediff('2018-03-02', '0000-01-01'), datediff('0000-01-01', '-2018-03-01'), datediff('2018-03-02', '-2018-03-01')
Result:
        737122   737015   1474137

同样,737122+737015=1474137。自公元前2018年3月1日起有1474137天。

相关问题