Egentligen är det väldigt konsekvent. DATETIME
är en typ som ärvts från tidigare utgåvor av sql server. Sedan 2008 års utgåva, DATETIME2
har införts, och möjligheten att addera/subtrahera heltal har tagits bort. Du kan fortfarande göra det på DATETIME
som ett arv.
DATE
, som DATETIME2
hade funnits sedan 2008 också, och för denna typ är det också förbjudet att lägga till/subtrahera siffror.
Detta ger dig ett felmeddelande:
DECLARE @Yesterday DATETIME2 = GETDATE();
SELECT @Yesterday-1;
Så allt är bra :).