时间戳的差异总是INTERVAL DAY TO SECOND?



我的观察显示时间戳差异的类型为INTERVAL DAY TO SECONDS:

select typeof(getdate() - current_date())
-----------------------------------------

interval day to second

但这是保证吗?是DAY TO MINUTE还是YEAR TO MONTH取决于输入?我在文档中找不到。

这在将间隔转换为数字格式时非常重要,因为CAST()返回间隔中较低单位的数目。

注:我知道还有其他方法可以将时间增量转换成秒

文档说明:

如果expr1和expr2为DATEs,则结果为INTERVAL DAYS。

如果expr1或expr2为TIMESTAMP,则结果为INTERVAL DAY TO SECOND。

只有当减去两个年-月的间隔时,才能为INTERVAL YEAR TO MONTH。

我认为你不能把间隔转换成一个数字…

最新更新