En este artículo, vamos a aprender una consulta SQL para convertir datos en el tipo de datos Datetime a datos en el tipo de datos Epoch. Entonces, los datos de Época son básicamente un número BIGINT que define la cantidad de segundos transcurridos entre el DateTime especificado y el 1 de enero de 1970 a las 00:00:00. Para ejecutar estas consultas, primero necesitaríamos agregar datos en una tabla en el tipo de datos «Datetime» y luego usar la función DATEDIFF() para encontrar la diferencia en segundos. Finalmente, usaríamos la función CAST() para obtener un valor BIGINT.
DIF FECHA() :
Esta función en SQL devuelve la diferencia de tiempo entre dos valores de fecha y hora que se han especificado como parámetros. También se debe especificar el tipo de diferencia entre los objetos como años, minutos, horas, etc.
EMITIR():
La función CAST() en SQL convierte un valor devuelto por una expresión en un tipo de datos especificado.
Paso 1 : creación de una base de datos SQL
Primero necesitaremos crear una base de datos para trabajar con tablas y datos en SQL. Para ello se utiliza la siguiente consulta:
Consulta :
CREATE DATABASE sample_db;
Paso 2 : Especificar el uso de la base de datos creada
Necesitamos comenzar a usar la base de datos creada. Para ello, la consulta que se utilizará es:
Consulta :
USE sample_db;
Paso 3 : crear una tabla con una columna DATETIME
Necesitamos crear una tabla que tenga al menos una columna con un tipo de datos DATETIME especificado. Usaremos la siguiente consulta:
Consulta :
CREATE TABLE sample_table(valuesDatetime DATETIME);
Paso 4 : Inserción de valores en la base de datos
Para convertir valores de «fecha y hora» en valores de época, debemos agregarlos a la tabla creada. Para esta operación, se utilizará la siguiente consulta:
Consulta :
INSERT INTO sample_table(valuesDatetime) VALUES ('20210115 08:15:32 AM'), ('20011012 01:23:11 PM'), ('20060524 07:16:45 PM');
Paso 5 : obtener valores de época correspondientes a los valores de fecha y hora
Necesitamos convertir datos de un tipo de datos a otro, así que primero, seleccionaremos nuestros datos usando el » comando SELECCIONAR » en SQL. A continuación, pasaremos los datos que hemos seleccionado de nuestra columna valueDatetime como parámetro a la función DATEDIFF(). La sintaxis de la función DATEDIFF() es:
Syntax : DATEDIFF(part,start_datetime,end_datetime) Parameters : part : This is the unit in which the difference between the Datetime objects is returned. start_datetime : Initial Datetime object end_datetime : Final Datetime object Returns : Difference between start_datetime and end_datetime in the unit defined in part parameter.
Para obtener el tiempo de época, definiremos nuestro tiempo de inicio_finalización como: ‘1970-01-01 00:00:00’ y nuestro parámetro de parte como s (para obtener el tiempo de época en segundos). Después de esto, convertimos nuestro resultado al tipo de datos BIGINT usando CAST() .
Sintaxis :
CAST(<expression> AS <datatype>)
Consulta :
SELECT CAST(DATEDIFF(s, '1970-01-01 00:00:00', valuesDatetime) AS BIGINT) FROM sample_table;
Salida :
Publicación traducida automáticamente
Artículo escrito por pranavhfs1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA