SQL Datetime: todo lo que necesita saber



Este artículo sobre sql datetime lo ayudará a comprender cómo escribir datetime y también cómo convertir de otros tipos de fecha y hora a datetime

A veces, se trata de la fecha y la hora en SQL puede ser bastante complicado. Si bien la fecha y la hora son en realidad tipos de datos completamente diferentes, a menudo se combinan en un tipo de datos de fecha y hora. Fechas y horas de SQL solos son bastante simples, pero fusionar los dos puede ser una de las tareas más dolorosas. En este artículo, aprenderá en detalle sobre el tipo de fecha y hora de SQL.

¿Cuál es el tipo de datos de fecha y hora?

En SQL, datetime El tipo de datos de fecha se utiliza para valores que contienen tanto la fecha como la hora. Microsoft lo define como un fecha combinada con una hora del día con fracciones de segundo que se basa en un reloj de 24 horas .





SQL específicamente, tiene muchos tipos de datos que combinan las representaciones de fecha y hora haciendo las cosas más complejas. El más utilizado es DATETIME, ya que ha estado presente desde las versiones anteriores de SQL. SQL recupera y muestra los valores DATETIME en formato 'AAAA-MM-DD hh: mm: ss'. El rango admitido es '1753-01-01 00:00:00' a '9999-12-31 23: 59: 59.997'. Exploremos el tipo de fecha y hora con más detalle.

Fecha y hora Descripción

Consulte la siguiente tabla para obtener más información sobre el tipo de fecha y hora de SQL.



Propiedad Valor

Sintaxis

datetime

Uso



DECLARAR @MyDatetimedatetime

CREAR TABLA Tabla1 (Columna1datetime)

Formato

'AAAA-MM-DD hh: mm: ss.nnn

Intervalo de tiempo

00:00:00 a 23: 59: 59.997

Rangos de elementos

  • YYYY son cuatro dígitos desde 1753 hasta 9999 que representan un año.
  • MM tiene dos dígitos, que van del 01 al 12, lo que representa un mes en el año especificado.
  • DD tiene dos dígitos, que van del 01 al 31 según el mes, lo que representa un día del mes especificado.
  • hh son dos dígitos, que van del 00 al 23, que representan la hora.
  • mm son dos dígitos, que van de 00 a 59, que representan el minuto.
  • ss tiene dos dígitos, que van del 00 al 59, que representa el segundo.
  • n * es de cero a tres dígitos, que van de 0 a 999, que representan las fracciones de segundo.

Tamaño de almacenamiento

etiqueta html para insertar un salto de línea

8 bytes

Valor por defecto

1900-01-01 00:00:00

Calendario

Gregoriano (incluye el rango completo de años).

Nota: Los detalles anteriores se aplican al tipo de fecha y hora en Transact-SQL yServidor SQL.

Así que eso es datetime en SQL. Pero, ¿qué harías si tuvieras otra cita?tipos de tiempo y tienes que convertirlos a datetime ¿tipo?

Conversión de otros tipos de fecha y hora al tipo de datos de fecha y hora

los datetime tipo de datos en SQL incluye la fecha y la hora, con una parte de segundos fraccionarios de 3 dígitos. Su precisión se redondea a incrementos de .000, .003 o .007 segundos. Entonces, cuando convierte un fecha o hora valores a datetime , se agrega información adicional al valor. Esto es porque el datetime El tipo de datos contiene fecha y hora. Esta parte del artículo explica qué ocurre cuando otros fecha y hora los tipos de datos se convierten al datetime tipo de datos.

Ejemplo 1: conversión implícita entre fecha y fecha y hora

DECLARE @date date = '2020-12-01' DECLARE @datetime datetime = @date

Resultado

@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21

Ejemplo 2: conversión implícita entre fecha y fecha y hora usando CAST ()

DECLARE @thedate date = '2020-12-01' SELECT @thedate AS 'date', CAST (@thedate AS datetime) AS 'datetime'

Resultado

@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21

Ejemplo 3: conversión implícita de smalldatetime a datetime

Cuando la conversión es de s malldatetime tipo, se copian las horas y los minutos. Los segundos y las fracciones de segundo se establecen en el valor 0. El siguiente código muestra los resultados de convertir un pequeña fecha y hora valor a un datetime valor.

DECLARAR @smalldatetime smalldatetime = '2020-12-01 12:32' DECLARAR @datetime datetime = @smalldatetime SELECCIONE @datetime AS '@datetime', @smalldatetime AS '@smalldatetime'

Resultado

@datetime @smalldatetime ------------------------- --------------------- - 2016-12-01 12:32: 00.000 2016-12-01 12:32:00

Del mismo modo, puede convertir otros fecha y hora tipos a tiempo de datos escriba implícitamente o usando emitir() y convertir() métodos. Para su referencia, consulte la tabla siguiente para familiarizarse con los formatos de todos los tipos de fecha y hora.

Tipo de datos Ejemplo

hora

12:35:29. 1234567

fecha

2007-05-08

pequeña fecha y hora

2007-05-08 12:35:00

datetime

2007-05-08 12:35:29.123

datetime2

2007-05-08 12:35:29. 1234567

datetimeoffset

2007-05-08 12:35:29.1234567 +12:15

Con esto, llegamos al final de este artículo. Espero que tengas claro el contenido que se comenta aquí. Asegúrese de practicar tanto como sea posible y revertir su experiencia.

Si desea obtener más información sobre MySQL y conozca esta base de datos relacional de código abierto, luego consulte nuestra que viene con capacitación en vivo dirigida por un instructor y experiencia en proyectos de la vida real. Esta capacitación lo ayudará a comprender MySQL en profundidad y lo ayudará a dominar el tema.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este artículo 'Procedimientos en SQL' y nos comunicaremos con usted.