La función DATEADD() en SQL Server se usa para resumir un intervalo de tiempo o fecha a una fecha específica y luego devuelve la fecha modificada. Hay algunas características de DATEADD() a continuación:
- Esta función se utiliza para resumir un tiempo o un intervalo de fecha a una fecha especificada.
- Esta función se incluye en Funciones de fecha.
- Esta función acepta tres parámetros, a saber, intervalo, número y fecha.
- Esta función también puede incluir el tiempo en la sección de intervalos.
Aquí veremos cómo convertir la hora de la época a la fecha en SQL Server usando la función DATEADD(). Con fines de demostración, crearemos una tabla EpochDB en una base de datos llamada «geeks».
Paso 1: Creación de la base de datos
Use la siguiente instrucción SQL para crear una base de datos llamada geeks:
CREATE DATABASE geeks;
Paso 2: Uso de la base de datos
Use la siguiente instrucción SQL para cambiar el contexto de la base de datos a geeks:
USE geeks;
Paso 3: Definición de la tabla
Tenemos el siguiente EpochDB en nuestra base de datos de geeks.
CREATE TABLE EpochDOB ( Id INT, Person VARCHAR(50), Dt BIGINT );
Paso 4: agregar datos a la tabla
Use la siguiente declaración para agregar datos a la tabla EpochDB:
INSERT INTO EpochDOB VALUES (1,'Anuj',848698632000), (2,'Harsh',957532509000), (3,'Ravi',1547455833000);
Paso 5: para verificar el contenido de la tabla, use la siguiente declaración
SELECT * FROM EpochDOB;
Paso 6: Resultado
Debido a que nuestro tiempo Epoch se especifica en milisegundos, podemos convertirlo a segundos. Para convertir milisegundos a segundos, primero, divida el conteo de milisegundos por 1000. Luego, usamos DATEADD() para agregar la cantidad de segundos desde la época, que es el 1 de enero de 1970, y arrojamos el resultado para recuperar la fecha desde la época.
SELECT *, CAST(DATEADD(SECOND, Dt/1000 ,'1970/1/1') AS DATE) DOBDate FROM EpochDOB;