DATETIME & INTEGER 和 DATE & INTEGER 的关系是否一致?
这执行得很好:
DECLARE @Yesterday DATETIME = GETDATE();
SELECT @Yesterday-1;
就像这样:
DECLARE @Yesterday DATE = GETDATE();
SELECT @Yesterday;
这个错误:
DECLARE @Yesterday DATE = GETDATE();
SELECT @Yesterday-1;
我可以安全地减去integer
键入来自datetime
但不是来自date
.
这种行为的原因是什么?
事实上,这是非常一致的。DATETIME
是从以前版本的 SQL Server 继承的类型。自2008年版以来,DATETIME2
已经被引入,并且删除了加/减整数的可能性。您仍然可以这样做DATETIME
作为遗产。
DATE
, like DATETIME2
自 2008 年以来也已出现,并且对于这种类型的数字加/减也被禁止。
这会给你一个错误:
DECLARE @Yesterday DATETIME2 = GETDATE();
SELECT @Yesterday-1;
所以一切都很好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)