Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Dlaczego można odjąć liczbę całkowitą od typu DATETIME, ale nie typu DATE?

Właściwie jest bardzo spójny. DATETIME to typ odziedziczony z poprzednich edycji serwera sql. Od edycji 2008, DATETIME2 wprowadzono i usunięto możliwość dodawania/odejmowania liczb całkowitych. Nadal możesz to zrobić w DATETIME jako dziedzictwo.

DATE , np. DATETIME2 istnieje również od 2008 roku i dla tego typu dodawanie/odejmowanie liczb jest również zabronione.

To daje błąd:

DECLARE @Yesterday DATETIME2 = GETDATE();
SELECT @Yesterday-1;

Więc wszystko jest w porządku :).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tworzenie WIELOKROTNYCH agregacji podgrup

  2. Jaka jest szybkość porównawcza tabel tymczasowych z tabelami fizycznymi w SQL?

  3. 5 składni SQL i zasad zapytań dla lepszego monitorowania baz danych

  4. Napraw komunikat 529 „Wyraźna konwersja typu danych typu int do xml jest niedozwolona” w SQL Server

  5. Niezgodność liczby wierszy SQL Server w zapytaniu SELECT i UPDATE z tymi samymi warunkami