Tipos de datos de fecha básica en SQL
¿Cómo se almacenan las fechas en el servidor SQL??
Dentro del servidor SQL, las fechas se almacenan utilizando dos enteros de 4 bytes. El entero inicial corresponde a la cantidad de días anteriores o teniendo éxito la fecha base del 1 de enero de 1900. El segundo entero corresponde al número de 1/300 de un segundo que transcurrió desde la medianoche. Por ejemplo, la fecha "1 de enero de 2000 12:00:00 p.m." se almacena como los dos enteros: 36,529 (el número de días entre el 1 de enero de 1900 y el 1 de enero de 2000) y 43,200,000 (el número de 1/300 de un segundo desde la medianoche).
El servidor SQL también proporciona una serie de funciones incorporadas para trabajar con fechas, como Dataadd, Datediff y Convert, que nos permiten realizar las operaciones comunes, como sumar o restar los intervalos de tiempo, comparar las fechas y formatear el fechas.
Para realizar las consultas SQL en una base de datos, generalmente usamos una herramienta como SQL Server Management Studio (SSMS).
Creando un [DBO].[Órdenes] mesa
Para crear una tabla en nuestra base de datos, tenemos que escribir las siguientes consultas:
Crear tabla [DBO].[PEDIDOS] (
[ord_number] int no nulo
,[ord_datetime] dateTime null
,[ord_date] fecha nula
,[deli_datetime] dateTime null
,[last_visit_date] fecha nula
)
Insertar los datos en el [DBO].[Órdenes] mesa
Inserte los valores en la tabla usando el siguiente comando:
Insertar en [DBO].[Orders] ([ord_number], [ord_dateTime], [ord_date], [deli_datetime], [last_visit_date])
VALORES
('1', '2021-10-01 10:30:00', '2021-10-01', '2021-10-12 10:11:10', '2021-11-01'),
('2', '2021-10-01 12:45:00', '2021-10-01', '2021-10-10 14:10:11', '2021-10-15'),
('3', '2021-10-30 13:25:00', '2021-10-30', '2021-11-05 13:22:12', '2021-12-30'),
('4', '2021-09-22 16:30:00', '2021-09-22', '2021-09-25 14:12:13', '2021-12-22'),
('5', '2021-01-10 18:15:00', '2021-01-10', '2021-02-01 11:15:14', '2022-01-10'),
('6', Current_Timestamp, Convert (date, current_timestamp), dateadd (día, 5, current_timestamp), dateadd (mes, 5, current_timestamp)))
Convertir una fecha en cadena
Si traemos de vuelta los valores de fecha y hora de la tabla, los resultados se mostrarán como "2021-10-01 10:30:00.000 ". Pero si nos gusta convertirlo en una cadena en nuestro propio formato en el código SQL, podemos hacerlo utilizando la siguiente función:
SELECCIONAR
[ord_datetime]
,Convert (varchar (20), [ord_dateTime], 22) 'Order_date_string'
DE
[DBO].[PEDIDOS]
Producción:
ord_datetime ord_date_string
2021-10-01 10:30:00.000 10/01/21 10:30:00 am
2021-10-01 12:45:00.000 10/01/21 12:45:00 PM
2021-10-30 13:25:00.000 30/10/21 1:25:00 PM
Encontrar una fecha específica usando la cláusula WHERE
Para encontrar los pedidos donde la fecha de pedido es el 1 de diciembre de 2021, tenemos que seguir la siguiente consulta:
SELECCIONAR
[ord_number]
,[ord_date]
DE
[DBO].[PEDIDOS]
DÓNDE
[ord_date] = '01/10/2021 '
Producción:
ord_number ord_date
5 2021-01-10
5 2021-01-10
Separar la fecha de la hora
También podemos usar la función de conversión en una fecha para recuperar solo el valor de la fecha especificando un estilo. Para esto, usamos la siguiente consulta:
Declarar @DD como fecha de fecha
Set @dd = '2011-07-03 20:30:40'
Seleccione Convert (varchar, @dd, 103)
Producción:
(Sin nombre de columna)
1 07/03/2011
Obtener la fecha y hora actuales
Aquí hay un ejemplo de una consulta SQL que recupera la fecha y hora actuales utilizando las funciones GetDate y Current_Timestamp:
SELECCIONARProducción:
(Sin nombre de columna) (sin nombre de columna)Encontrar la diferencia entre dos fechas
A menudo es útil encontrar la diferencia entre dos fechas. Con esto, podemos hacer cosas como encontrar la cantidad de días entre el pedido y una fecha de entrega.
Aquí hay un ejemplo:
SELECCIONARProducción:
ord_date deli_datetime del_daysConclusión
Aprendimos a manipular las fechas, los tiempos y las cuerdas utilizando las funciones incorporadas. Estas funciones son muy útiles para realizar cálculos y transformaciones en los datos almacenados en las tablas de SQL Server. Al comprender y usar estos tipos y funciones de datos de manera efectiva, podemos escribir consultas SQL más eficientes y poderosas.