從
一個DATETIME一個數的減法是記錄here:「也可以從日期中減去一個數字,以天爲單位。」
declare @Now as DateTime = GetDate();
declare @OneWeekAgo as SQL_Variant = @Now - 7;
select @Now as [Now], @OneWeekAgo as [Delta], SQL_Variant_Property(@OneWeekAgo, 'BaseType') as [Data Type];
在Using Operators with Date and Time Data Types:「加減法用於所有日期和時間數據類型,使用DATEADD和DATEDIFF。」
在可能的違規行爲,我們看到下面的好奇結果Principle of Least Astonishment的:
declare @Now as DateTime = GetDate();
declare @Then as DateTime = '17760704';
declare @Delta as SQL_Variant = @Now - @Then;
select @Now as [Now], @Then as [Then], @Delta as [Delta],
SQL_Variant_Property(@Delta, 'BaseType') as [Data Type],
Cast(@Delta as Int) as [Days];
阿龍貝特朗條款:所提供的信息是由阿龍貝特朗未經批准。此外,作者未能指出在任何特定環境下可能不適用或不理想的所有可能方式,無論這些方式多麼模糊或人爲設計。作者還犯了基數和/或序數罪,沒有明確提及Aaron Bertrand的博客文章和至少三(3)個標準答案。因此它不會給整個社區帶來任何好處,作者應立即永久地從所有StackExchange站點放逐,並且作者提供的任何內容都應從中刪除。微軟精彩的文檔可能導致任何(錯誤)理解的程度並不重要。
因爲1天等於24小時 –
我想那麼多。但我無法找到任何文件。日期時間值之間的減法結果是日期時間值。在這種情況下,它如何評估/比較爲「1天」?鑄件? –