Eigentlich ist es sehr konsequent. DATETIME ist ein Typ, der von früheren Ausgaben von SQL Server geerbt wurde. Seit Ausgabe 2008, DATETIME2 wurde eingeführt und die Möglichkeit zum Addieren/Subtrahieren ganzer Zahlen entfernt. Sie können es immer noch am DATETIME tun als Vermächtnis.
DATE , wie DATETIME2 gibt es auch schon seit 2008, und für diesen Typ ist auch das Addieren/Subtrahieren von Zahlen verboten.
Dies gibt Ihnen einen Fehler:
DECLARE @Yesterday DATETIME2 = GETDATE();
SELECT @Yesterday-1;
Also alles bestens :).