SQL DateTime: Tipo de datos

En las tablas de SQL Server, puede usar el tipo de datos SQL DateTime para almacenar fechas. La discrepancia entre los tipos de datos Date y DateTime radica en el nivel de detalle en el que ambos tipos de datos almacenan la información de la fecha.

En la definición de una tabla, se puede especificar una columna como de tipo SQL DATETIME mediante la sintaxis DATETIME. Es un tipo de datos muy útil en SQL, ya que permite almacenar información de fechas y horas de manera eficiente y precisa, y que es ampliamente utilizado en muchas aplicaciones de bases de datos.

SQL datetime

El campo con tipos de datos sql datetime puede ser utilizado para filtrar, ordenar y agrupar registros en una base de datos y realizar operaciones matemáticas con fechas y horas. Ejemplos de uso incluyen registros de fecha y hora de transacciones, eventos programados, fechas de vencimiento, entre otros.  Algunas operaciones comunes incluyen:

  • Saca el segmento de fecha u hora de un valor de tipos SQL DATETIME.
  • Convertir un valor en una cadena en un formato especificado.
  • Sumar o restar un intervalo especificado a o desde un valor DATETIME

Elementos del tipo de datos SQL DATETIME

El formato de un valor del tipo de datos SQL DATETIME: YYYY-MM-DD HH:MI:SS. Podemos ver los detalle de este formato en la siguiente tabla.

Propiedad Valor
Sintaxisdatetime
UsoDECLARAR @MiDatetime  datetime

CREAR TABLA Table1 (Columna1  datetime )

Formato‘AAAA-MM-DD hh: mm: ss.nnn
Intervalo de tiempo00:00:00 a 23:59:59.997
Rangos de elementos
  • «YYYY» representa el año con cuatro dígitos desde 1753 hasta 9999 que representan un año.
  • «MM» representa el mes con dos dígitos, que van del 01 al 12, lo que representa un mes en el año especificado.
  • «DD» representa el día con dos dígitos, que van del 01 al 31 según el mes, lo que representa un día del mes especificado.
  • «HH» representa las horas con dos dígitos, que van del 00 al 23, que representan la hora.
  • «MI» representa los minutos con dos dígitos, que van del 00 al 59, que representan el minuto.
  • «SS» representa los segundos con dos dígitos, que van del 00 al 59, que representa el segundo.
  • n* es cero a tres dígitos, que van desde 0 a 999, que representan los segundos fraccionarios.
Tamaño de almacenamiento8 bytes
Valor por defecto1900-01-01 00:00:00

Por lo general, la aplicación cliente se ocupa del formateo de un valor SQL DateTime en una fecha y hora más legible. Sin embargo, al casos que es conveniente convertir un DateTime en una cadena de caracteres formateada dentro de una instrucción SQL.

Conversión implícita entre fecha y fecha y hora

DECLARE @date date = '2023-12-01';
DECLARE @datetime datetime =@date; 
SELECT @datetime AS 'Resultado';

SQL datetime

En SQL server, puedes convertir un valor de sql datetime a otros formatos usando la función CONVERT, Cast… El siguiente es un ejemplo de cómo convertir un valor de datetime a un string en formato dd/mm/yyyy: 

SELECT CONVERT(varchar, GETDATE(),3) AS 'DD/MM/YYYY'

Conclusión

SQL DATETIME es un formato de datos que almacena una fecha y hora específicas. Así como también, sentencias para realizar comparaciones y operaciones de fecha. El formato de DATETIME es ‘AAAA-MM-DD HH:MM:SS’.

Ten en cuenta que el formato de fecha y hora puede variar dependiendo de la configuración del sistema operativo o del manejador de base de datos.

Microsoft recomienda usar DateTime2 en lugar de SQL DateTime, ya que es más portátil y proporciona más precisión en segundos. Además, DateTime2 tiene un intervalo de fechas más amplio y una precisión de segundos opcional definida por el usuario con mayor precisión. Datetime2 se alinea con los estándares SQL.

En SQL existen varios tipos de datos que se utilizan para representar fechas y horas. Algunos de los tipos de datos más comunes incluyen:

  • Date: Almacena solo la fecha, sin tiempo. El formato es yyyy-mm-dd.
  • Time: Almacena solo el tiempo, sin fecha. El formato es hh:mm:ss[.nnnnnnn].
  • Datetime: Almacena tanto la fecha como el tiempo. El formato es yyyy-mm-dd hh:mm:ss[.nnnnnnn].
  • Datetime2: Es similar a datetime, pero con una mayor precisión de tiempo. El formato es yyyy-mm-dd hh:mm:ss[.nnnnnnn].
  • Smalldatetime: Almacena tanto la fecha como el tiempo, pero con una menor precisión de tiempo que datetime. El formato es yyyy-mm-dd hh:mm.
  • Datetimeoffset: Es similar a datetime2, pero también almacena la información de la zona horaria. El formato es yyyy-mm-dd hh:mm:ss[.nnnnnnn] [+|-]hh:mm.

Deja un comentario