我的观察显示时间戳差异的类型为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。
我认为你不能把间隔转换成一个数字…