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.
- ¿Qué es el tipo de datos DateTime?
- Fecha y hora Descripción
- Conversión de otros tipos de fecha y hora al tipo de datos de fecha y hora
¿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 |
|
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.