sql >> Database >  >> RDS >> Sqlserver

Vergelijking van de datum- en tijdgegevenstypen in SQL Server

Dit artikel biedt een zij-aan-zij vergelijking van de datum- en tijdgegevenstypen in SQL Server met betrekking tot hun bereik, nauwkeurigheid en opslaggrootte.

Gegevenstype Bereik Nauwkeurigheid Opslaggrootte
datum 0001-01-01

via

9999-12-31

1 dag 3 bytes
datumtijd 1753-01-01

via

9999-12-31

00:00:00

via

23:59:59.999

0,00333 seconden 8 bytes
datetime2 0001-01-01

via

9999-12-31

00:00:00

via

23:59:59.999999

100 nanoseconden 6 tot 8 bytes*
datetimeoffset 0001-01-01

via

9999-12-31

00:00:00

via

23:59:59,999999

-14:00

via

+14:00

100 nanoseconden 8 tot 10 bytes*
smalldatetime 1900-01-01

via

2079-06-06

00:00:00

via

23:59:59

1 minuut 4 bytes
tijd 00:00:00.0000000

via

23:59:59.999999

100 nanoseconden 3 tot 5 bytes*

* Houd er rekening mee dat de hier vermelde opslagbedragen de bedragen zijn die worden vermeld in de Microsoft-documentatie. Deze gegevenstypen gebruiken echter ook 1 byte om de precisie op te slaan. Voeg daarom 1 byte toe aan de hier vermelde hoeveelheden voor een vollediger beeld van de opslagvereisten.

Bijvoorbeeld de opslaggrootte voor datetime2 zou variëren van 7 tot 9 bytes als u de extra byte opneemt.

Omzetten tussen gegevens van deze typen

Vanwege de verschillen in nauwkeurigheid en bereik tussen deze gegevenstypen, moet u extra voorzichtig zijn bij het converteren tussen deze gegevens. Vooral het omzetten van een type met hogere precisie naar een type met lagere precisie kan ertoe leiden dat een deel van de waarde verloren gaat en dat de resterende waarde naar boven wordt afgerond.

Bekijk het converteren tussen datum- en tijdgegevenstypen in SQL Server voor voorbeelden.


  1. Hoe SECOND() werkt in MariaDB

  2. Problemen oplossen:te veel omleidingen

  3. MySQL INT betekenis

  4. SQL, hoe een tabelstructuur bij te werken