如何在 SQL 中将纪元时间转换为日期?
SQL Server 中的 DATEADD()函数用于将时间或日期间隔与指定日期相加,然后返回修改后的日期。 DATEADD() 的一些特性如下:
- 此函数用于将时间或日期间隔与指定日期相加。
- 此函数属于日期功能。
- 该函数接受三个参数,即时间间隔、数字和日期。
- 此函数还可以在间隔部分中包含时间。
在这里,我们将看到如何使用 DATEADD()函数在 SQL Server 中将纪元时间转换为日期。出于演示的目的,我们将在名为“geeks”的数据库中创建一个 EpochDB 表。
第 1 步:创建数据库
使用以下 SQL 语句创建一个名为 geeks 的数据库:
CREATE DATABASE geeks;
第 2 步:使用数据库
使用以下 SQL 语句将数据库上下文切换到极客:
USE geeks;
第三步:表定义
我们的极客数据库中有以下 EpochDB。
CREATE TABLE EpochDOB (
Id INT,
Person VARCHAR(50),
Dt BIGINT
);
第 4 步:将数据添加到表中
使用以下语句将数据添加到 EpochDB 表:
INSERT INTO EpochDOB VALUES
(1,'Anuj',848698632000),
(2,'Harsh',957532509000),
(3,'Ravi',1547455833000);
第 5 步:要验证表的内容,请使用以下语句
SELECT * FROM EpochDOB;
第 6 步:结果
因为我们的 Epoch 时间是以毫秒为单位指定的,所以我们可以将其转换为秒。要将毫秒转换为秒,首先将毫秒计数除以 1000。稍后,我们使用 DATEADD() 将自纪元(即 1970 年 1 月 1 日)以来的秒数相加,并将结果转换为检索自纪元以来的日期。
SELECT *, CAST(DATEADD(SECOND, Dt/1000
,'1970/1/1') AS DATE) DOBDate
FROM EpochDOB;