Resumen: en este tutorial, aprenderá a usar SQL Server DATETIME2
para almacenar datos de fecha y hora en una tabla.
Introducción a la fecha y HORA de SQL Server 2
Para almacenar la fecha y la hora en la base de datos, utilice el tipo de datos SQL Server DATETIME2
.
La sintaxis de DATETIME2
es la siguiente:
Code language: SQL (Structured Query Language) (sql)
La precisión de fracciones de segundo es opcional. Varía de 0 a 7.
La siguiente instrucción ilustra cómo crear una tabla que consta de una columna DATETIME2
:
Code language: SQL (Structured Query Language) (sql)
El DATETIME2
tiene dos componentes: fecha y hora.
- La fecha tiene un rango de enero 01, 01 (0001-01-01) a diciembre 31, 9999 (9999-12-31)
- El tiempo tiene un rango de 00:00:00 a 23:59:59.9999999.
El tamaño de almacenamiento de un valor DATETIME2
depende de la precisión de segundos fraccionados. Requiere 6 bytes para la precisión que es inferior a 3, 7 bytes para la precisión que está entre 3 y 4, y 8 bytes para todas las demás precisiones.
El formato literal de cadena predeterminado de DATETIME2
es el siguiente:
Code language: SQL (Structured Query Language) (sql)
En este formato:
-
YYYY
es un número de cuatro dígitos que representa un año, por ejemplo, 2018. Va de 0001 a 9999. -
MM
es un número de dos dígitos que representa un mes en un año, por ejemplo, 12. Varía de 01 a 12. -
DD
es un número de dos dígitos que representa un día de un mes especificado, por ejemplo, 23. Varía de 01 a 31. -
hh
es un número de dos dígitos que representa la hora. Oscila entre 00 y 23. -
mm
es un número de dos dígitos que representa el minuto. Oscila entre 00 y 59. -
ss
es un número de dos dígitos que representa el segundo. Oscila entre 00 y 59. - Los segundos fraccionados son de cero a un número de siete dígitos que varía de 0 a 9999999.
SQL Server DATETIME2 ejemplo
La siguiente instrucción crea una nueva tabla que tiene una columna created_at
cuyo tipo de datos es DATETIME2
:
Code language: SQL (Structured Query Language) (sql)
Para insertar la fecha y hora actuales en la columna created_at
, utilice la siguiente instrucción INSERT
con la función GETDATE
() :
Code language: SQL (Structured Query Language) (sql)
La función GETDATE
() es similar a la función NOW()
en otros sistemas de bases de datos como MySQL
Para insertar un valor literal en la columna DATETIME2
, utilice la siguiente instrucción:
Code language: SQL (Structured Query Language) (sql)
Si desea establecer el valor predeterminado de la columna created_at
en la fecha y hora actuales, utilice la siguiente instrucción ALTER TABLE
:
Code language: SQL (Structured Query Language) (sql)
En esta instrucción, usamos CURRENT_TIMESTAMP
como valor predeterminado para la columna created_at
. Tenga en cuenta que CURRENT_TIMESTAMP
devuelve el mismo valor que la función GETDATE
().
Ahora, cuando inserte una nueva fila en la tabla sin especificar el valor de la columna created_at
, SQL Server utilizará el valor de fecha y hora actual para esa columna:
Code language: SQL (Structured Query Language) (sql)
En este tutorial, ha aprendido a usar el tipo de datos SQL Server DATETIME2
para almacenar datos de fecha y hora en una tabla.