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

Porównanie typów danych daty i godziny w SQL Server

Ten artykuł zawiera porównanie typów danych daty i godziny w SQL Server pod kątem ich zakresu, dokładności i rozmiaru pamięci.

Typ danych Zakres Dokładność Rozmiar pamięci
data 0001-01-01

przez

9999-12-31

1 dzień 3 bajty
data i godzina 1753-01-01

przez

9999-12-31

00:00:00

przez

23:59:59,997

0,0333 sekundy 8 bajtów
datetime2 0001-01-01

przez

9999-12-31

00:00:00

przez

23:59:59.9999999

100 nanosekund 6 do 8 bajtów*
przesunięcie daty i godziny 0001-01-01

przez

9999-12-31

00:00:00

przez

23:59:59.9999999

-14:00

przez

+14:00

100 nanosekund 8 do 10 bajtów*
smalldatetime 1900-01-01

przez

2079-06-06

00:00:00

przez

23:59:59

1 minuta 4 bajty
czas 00:00:000.0000000

przez

23:59:59.9999999

100 nanosekund 3 do 5 bajtów*

* Zwróć uwagę, że podane tutaj ilości pamięci są kwotami podanymi w dokumentacji firmy Microsoft. Jednak te typy danych również używają 1 bajtu do przechowywania precyzji. Dlatego dodaj 1 bajt do podanych tutaj ilości, aby uzyskać pełniejszy obraz wymagań dotyczących przechowywania.

Na przykład rozmiar pamięci dla datetime2 będzie wynosić od 7 do 9 bajtów, jeśli uwzględnisz dodatkowy bajt.

Konwertowanie danych między tymi typami

Ze względu na różnice w dokładności i zakresie między tymi typami danych należy zachować szczególną ostrożność podczas konwersji między nimi. W szczególności konwersja z typu o wyższej precyzji na typ o mniejszej precyzji może spowodować utratę części wartości, a pozostała wartość zostanie zaokrąglona w górę.

Zapoznaj się z przykładami konwersji między typami danych daty i godziny w SQL Server.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pobierz wiersz, w którym kolumna datetime =dzisiaj - serwer SQL noob

  2. Jak zaimportować bazę danych SQL Server do programu Access 2016

  3. Kiedy używać EXCEPT w przeciwieństwie do NOT EXISTS w Transact SQL?

  4. Wykonywanie procedury składowanej przy użyciu struktury encji

  5. Jak wykonać zapytanie o wszystkie daty większe niż określona data w programie SQL Server?