Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Warum kann eine Ganzzahl von DATETIME subtrahiert werden, aber nicht vom DATE-Typ

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