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 :).