在本文中,我们将学习一个 SQL 查询,将 Datetime 数据类型的数据转换为 Epoch 数据类型的数据。因此,Epoch 数据本质上是一个 BIGINT 数字,它定义指定的 DateTime 和 1970 年 1 月 1 日 00:00:00 之间经过的秒数。要执行这些查询,我们首先需要将数据添加到 “Datetime” 数据类型的表中,然后使用DATEDIFF()函数以秒为单位找出差异。最后,我们将使用 CAST()函数获得 BIGINT 值。
DATEDIFF():
SQL 中的此函数返回已指定为参数的两个日期时间值之间的时间差。还必须指定对象之间的差异类型,例如年、分钟、小时等。
CAST():
SQL 中的CAST() 函数将表达式返回的值转换为指定的数据类型。
第 1 步:创建 SQL 数据库
我们首先需要创建一个数据库来使用 SQL 中的表和数据。为此,使用以下查询:
询问:
CREATE DATABASE sample_db;
第二步:指定创建的数据库的用途
我们需要开始使用创建的数据库。为此,将使用的查询是:
询问:
USE sample_db;
步骤 3:创建包含 DATETIME 列的表
我们需要创建一个表,其中至少有一列具有指定的 DATETIME 数据类型。我们将使用以下查询:
询问:
CREATE TABLE sample_table(valuesDatetime DATETIME);
第 4 步:将值插入数据库
要将“Datetime”值转换为Epoch值,我们需要将它们添加到创建的表中。对于此操作,将使用以下查询:
询问:
INSERT INTO sample_table(valuesDatetime) VALUES ('20210115 08:15:32 AM'), ('20011012 01:23:11 PM'), ('20060524 07:16:45 PM');
步骤 5:获取与日期时间值对应的纪元值
我们需要将数据从一种数据类型转换为另一种数据类型,因此首先,我们将使用 SQL 中的“SELECT 命令”选择数据。然后,我们将从 valueDatetime 列中选择的数据作为参数传递给 DATEDIFF() 函数。 DATEDIFF() 函数的语法是:
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.
为了获取纪元时间,我们将 start_endtime 定义为:“1970-01-01 00:00:00”,并将部分参数定义为 s(以秒为单位获取纪元时间)。之后,我们使用 CAST() 将结果转换为 BIGINT 数据类型。
用法:
CAST(<expression> AS <datatype>)
询问:
SELECT CAST(DATEDIFF(s, '1970-01-01 00:00:00', valuesDatetime) AS BIGINT) FROM sample_table;
输出:
相关用法
- SQL Datetime转Date用法及代码示例
- SQL Datetime转String用法及代码示例
- SQL Date转Datetime用法及代码示例
- SQL DROP和TRUNCATE的区别用法及代码示例
- SQL NUMERIC转NVARCHAR用法及代码示例
- SQL LTRIM()用法及代码示例
- SQL UPPER()用法及代码示例
- SQL RTRIM()用法及代码示例
- SQL FLOAT转NVARCHAR用法及代码示例
- SQL Epoch Time转Date用法及代码示例
- SQL VARCHAR转INT用法及代码示例
- SQL NOT用法及代码示例
- SQL IN用法及代码示例
- SQL NOT EQUAL用法及代码示例
- SQL IS NOT NULL用法及代码示例
- SQL IS NULL用法及代码示例
- SQL LIKE用法及代码示例
- SQL Server CHARINDEX()用法及代码示例
- SQL Server DIFFERENCE()用法及代码示例
- SQL Server IIF()用法及代码示例
- SQL Server ASCII()用法及代码示例
- SQL Server LOG()用法及代码示例
- SQL Server LOG10()用法及代码示例
- SQL Server ATN2()用法及代码示例
注:本文由纯净天空筛选整理自pranavhfs1大神的英文原创作品 SQL Query to Convert Datetime to Epoch。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。