SQL Query to Convert Datetime to Epoch
Converting a datetime value to Epoch time is a common operation in SQL, particularly when working with timestamps in various applications.
In this article, We will learn a step-by-step process of creating a SQL database, inserting datetime values and converting those values into Epoch time using SQL functions.
What is DATEDIFF() Function
- The
DATEDIFF()
function in SQL is used to calculate the difference between two dates. - It returns the difference between the start date and the end date, measured in the specified unit (such as days, months, or years)
What is CAST
() Function
- The
CAST()
function in SQL is used to convert an expression from one data type to another. - It is particularly useful when we need to ensure that data types are compatible in SQL operations or queries such as when performing calculations or comparisons between different data types.
Steps to Convert Datetime to Epoch
Step 1: Creation of a SQL Database
We will first need to create a Database to work with tables and data in SQL. For that, the following query is used:
Query:
CREATE DATABASE sample_db;
Output:
Step 2: Specifying the usage of the created database
We need to start to use the created database. For that, the query that will be used is:
Query:
USE sample_db;
Output:
Step 3: Creating a table with a DATETIME column
We need to create a table that has at least one column with a specified DATETIME datatype. We will use the following query :
Query:
CREATE TABLE sample_table(valuesDatetime
DATETIME);
Output:
Step 4: Inserting values into the Database
To convert “Datetime” values to Epoch values, we need to add them to the created table. For this operation, the following query will be used :
Query:
INSERT INTO sample_table(valuesDatetime)
VALUES
('20210115 08:15:32 AM'),
('20011012 01:23:11 PM'),
('20060524 07:16:45 PM');
Output:
Step 5: Getting epoch values corresponding to the Datetime values
We need to convert data from one data type to another, so first, we will select our data using the “SELECT command” in SQL.
We will then pass the data that we have selected from our valuesDatetime column as a parameter to the DATEDIFF() function. The syntax of the DATEDIFF() function is :
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.
To get epoch time, we will define our start_endtime as: ‘1970-01-01 00:00:00’ and our part parameter as s (to get epoch time in seconds). After this, we convert our result to BIGINT datatype using CAST().
Syntax:
CAST(<expression> AS <datatype>)
Query:
SELECT CAST(DATEDIFF(s,
'1970-01-01 00:00:00',
valuesDatetime)
AS BIGINT)
FROM sample_table;
Output:
Output:

Conclusion
By following these steps, you can successfully convert datetime values to Epoch time in SQL. This conversion is essential for various data processing tasks where consistent time representation is required, such as in logging, data analysis, or synchronization across different systems.
FAQs
What is the purpose of the DATEDIFF()
function in SQL?
The
DATEDIFF()
function is used to calculate the difference between two dates. It returns the difference in a specified unit (such as days, months, or years), based on the parameters provided.
How can you convert a DATETIME
value to an epoch time in SQL?
To convert a
DATETIME
value to epoch time in SQL, you can use theDATEDIFF()
function to calculate the difference between yourDATETIME
value and the epoch start time (1970-01-01 00:00:00
). Then, use theCAST()
function to convert the result to aBIGINT
datatype for epoch representation.
What is the function of CAST()
in SQL?
The
CAST()
function in SQL is used to convert an expression from one data type to another. This is useful for ensuring compatibility in SQL operations, such as calculations or comparisons between different data types.