sql >> Databasteknik >  >> RDS >> Sqlserver

Jämförelse av datatyperna för datum och tid i SQL Server

Den här artikeln ger en jämförelse sida vid sida av datatyperna för datum och tid i SQL Server avseende deras räckvidd, noggrannhet och lagringsstorlek.

Datatyp Räckvidd Noggrannhet Lagringsstorlek
datum 0001-01-01

genom

9999-12-31

1 dag 3 byte
datumtid 1753-01-01

genom

9999-12-31

00:00:00

genom

23:59:59.997

0,00333 sekunder 8 byte
datetime2 0001-01-01

genom

9999-12-31

00:00:00

genom

23:59:59.9999999

100 nanosekunder 6 till 8 byte*
datetimeoffset 0001-01-01

genom

9999-12-31

00:00:00

genom

23:59:59.9999999

-14:00

genom

+14:00

100 nanosekunder 8 till 10 byte*
smalldatetime 1900-01-01

genom

2079-06-06

00:00:00

genom

23:59:59

1 minut 4 byte
tid 00:00:00.0000000

genom

23:59:59.9999999

100 nanosekunder 3 till 5 byte*

* Observera att lagringsbeloppen som anges här är de belopp som anges i Microsofts dokumentation. Dessa datatyper använder dock också 1 byte för att lagra precisionen. Lägg därför till 1 byte till beloppen som anges här för en mer komplett bild av lagringskraven.

Till exempel lagringsstorleken för datetime2 skulle variera från 7 till 9 byte om du inkluderar den extra byten.

Konvertera mellan dessa typer av data

På grund av skillnaderna i noggrannhet och räckvidd mellan dessa datatyper måste du vara extra försiktig när du konverterar mellan dem. I synnerhet kan en konvertering från en typ med högre precision till en typ med lägre precision leda till att en del av värdet går förlorad och att det återstående värdet avrundas uppåt.

Kolla in Konvertera mellan datatyper för datum och tid i SQL Server för exempel.


  1. SQL Server Oanvänd Index

  2. PostgreSQL temporära tabeller

  3. Spåra databasändringar med hjälp av källkontroll för arbetsmapp

  4. Återgå till readline version 6.x i Homebrew för att fixa Postgresql?