Eigenlijk is het heel consequent. DATETIME
is een type geërfd van eerdere edities van sql-server. Sinds editie 2008 DATETIME2
is geïntroduceerd en de mogelijkheid om gehele getallen op te tellen/af te trekken is verwijderd. Je kunt het nog steeds doen op DATETIME
als een erfenis.
DATE
, zoals DATETIME2
bestond ook al sinds 2008 en voor dit type is het optellen/aftrekken van getallen ook verboden.
Dit geeft je een foutmelding:
DECLARE @Yesterday DATETIME2 = GETDATE();
SELECT @Yesterday-1;
Dus alles is in orde :).