Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Comparação dos tipos de dados de data e hora no SQL Server


Este artigo fornece uma comparação lado a lado dos tipos de dados de data e hora no SQL Server em relação ao intervalo, precisão e tamanho do armazenamento.


Tipo de dados Intervalo Precisão Tamanho do armazenamento
data 0001-01-01

Através dos

9999-12-31
1 dia 3 bytes
datahora 1753-01-01

Através dos

9999-12-31

00:00:00

Através dos

23:59:59.997
0,00333 segundos 8 bytes
datetime2 0001-01-01

Através dos

9999-12-31

00:00:00

Através dos

23:59:59.9999999
100 nanossegundos 6 a 8 bytes*
deslocamento de data e hora 0001-01-01

Através dos

9999-12-31

00:00:00

Através dos

23:59:59.9999999

-14:00

Através dos

+14:00
100 nanossegundos 8 a 10 bytes*
smalldatetime 1900-01-01

Através dos

06-06-2079

00:00:00

Através dos

23:59:59
1 minuto 4 bytes
hora 00:00:00.0000000

Através dos

23:59:59.9999999
100 nanossegundos 3 a 5 bytes*

* Observe que os valores de armazenamento listados aqui são os valores listados na documentação da Microsoft. No entanto, esses tipos de dados também usam 1 byte para armazenar a precisão. Portanto, adicione 1 byte às quantidades listadas aqui para obter uma visão mais completa dos requisitos de armazenamento.

Por exemplo, o tamanho do armazenamento para datetime2 varia de 7 a 9 bytes se você incluir o byte extra.

Conversão entre dados desses tipos


Devido às diferenças de precisão e alcance entre esses tipos de dados, você precisa ter muito cuidado ao converter entre eles. Em particular, a conversão de um tipo de precisão mais alta para um tipo de precisão mais baixa pode resultar na perda de parte do valor e o valor restante ser arredondado.

Confira a conversão entre tipos de dados de data e hora no SQL Server para obter exemplos.