sql >> Base de Datos >  >> RDS >> Sqlserver

Comparación de los tipos de datos de fecha y hora en SQL Server

Este artículo proporciona una comparación en paralelo de los tipos de datos de fecha y hora en SQL Server con respecto a su rango, precisión y tamaño de almacenamiento.

Tipo de datos Rango Precisión Tamaño de almacenamiento
fecha 0001-01-01

a través de

9999-12-31

1 día 3 bytes
fechahora 1753-01-01

a través de

9999-12-31

00:00:00

a través de

23:59:59.997

0,00333 segundos 8 bytes
fechahora2 0001-01-01

a través de

9999-12-31

00:00:00

a través de

23:59:59.9999999

100 nanosegundos 6 a 8 bytes*
desplazamiento de fecha y hora 0001-01-01

a través de

9999-12-31

00:00:00

a través de

23:59:59.9999999

-14:00

a través de

+14:00

100 nanosegundos 8 a 10 bytes*
pequeña fecha y hora 1900-01-01

a través de

2079-06-06

00:00:00

a través de

23:59:59

1 minuto 4 bytes
tiempo 00:00:00.0000000

a través de

23:59:59.9999999

100 nanosegundos 3 a 5 bytes*

* Tenga en cuenta que las cantidades de almacenamiento enumeradas aquí son las cantidades enumeradas en la documentación de Microsoft. Sin embargo, estos tipos de datos también usan 1 byte para almacenar la precisión. Por lo tanto, agregue 1 byte a las cantidades enumeradas aquí para obtener una imagen más completa de los requisitos de almacenamiento.

Por ejemplo, el tamaño de almacenamiento para datetime2 variaría de 7 a 9 bytes si incluye el byte adicional.

Conversión entre datos de estos tipos

Debido a las diferencias en la precisión y el rango entre estos tipos de datos, debe tener mucho cuidado al convertir entre ellos. En particular, la conversión de un tipo de mayor precisión a un tipo de menor precisión puede resultar en la pérdida de parte del valor y el redondeo del valor restante.

Consulte Conversión entre tipos de datos de fecha y hora en SQL Server para ver ejemplos.