Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Confronto dei tipi di dati di data e ora in SQL Server

Questo articolo fornisce un confronto fianco a fianco dei tipi di dati di data e ora in SQL Server per quanto riguarda l'intervallo, la precisione e le dimensioni di archiviazione.

Tipo di dati Gamma Precisione Dimensioni di archiviazione
data 0001-01-01

tramite

9999-12-31

1 giorno 3 byte
dataora 01-01-1753

tramite

9999-12-31

00:00:00

tramite

23:59:59.997

0,00333 secondi 8 byte
datatime2 0001-01-01

tramite

9999-12-31

00:00:00

tramite

23:59:59.9999999

100 nanosecondi Da 6 a 8 byte*
datatimeoffset 0001-01-01

tramite

9999-12-31

00:00:00

tramite

23:59:59.9999999

-14:00

tramite

+14:00

100 nanosecondi da 8 a 10 byte*
smalldatetime 01-01-1900

tramite

06-06-2079

00:00:00

tramite

23:59:59

1 minuto 4 byte
tempo 00:00:00.0000000

tramite

23:59:59.9999999

100 nanosecondi Da 3 a 5 byte*

* Si noti che gli importi di archiviazione elencati qui sono gli importi elencati nella documentazione Microsoft. Tuttavia, questi tipi di dati utilizzano anche 1 byte per memorizzare la precisione. Pertanto, aggiungi 1 byte agli importi qui elencati per un quadro più completo dei requisiti di archiviazione.

Ad esempio, la dimensione dello spazio di archiviazione per datetime2 varia da 7 a 9 byte se includi il byte aggiuntivo.

Conversione tra questi tipi di dati

A causa delle differenze di precisione e intervallo tra questi tipi di dati, è necessario prestare la massima attenzione durante la conversione tra di loro. In particolare, la conversione da un tipo di precisione superiore a un tipo di precisione inferiore può comportare la perdita di parte del valore e l'arrotondamento per eccesso del valore rimanente.

Per esempi, consulta Conversione tra tipi di dati di data e ora in SQL Server.