SQL Server 中的DATEADD() 函数用于将时间或日期间隔与指定日期相加,然后返回修改后的日期。 DATEADD()有以下一些特点:
- 此函数用于汇总到指定日期的时间或日期间隔。
- 该函数属于日期函数。
- 该函数接受三个参数,即间隔、数字和日期。
- 此函数还可以在间隔部分包含时间。
在这里我们将看到如何使用 DATEADD() 函数将 SQL Server 中的纪元时间转换为日期。为了演示目的,我们将在名为“geeks”的数据库中创建一个 EpochDB 表。
第 1 步:创建数据库
使用以下 SQL 语句创建一个名为 geeks 的数据库:
CREATE DATABASE geeks;
第 2 步:使用数据库
使用下面的SQL语句来切换数据库上下文给极客:
USE geeks;
步骤 3:表定义
我们的极客数据库中有以下EpochDB。
CREATE TABLE EpochDOB ( Id INT, Person VARCHAR(50), Dt BIGINT );
第四步:向表中添加数据
使用以下语句将数据添加到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;
相关用法
- SQL Datetime转Date用法及代码示例
- SQL Date转Datetime用法及代码示例
- SQL NUMERIC转NVARCHAR用法及代码示例
- SQL LTRIM()用法及代码示例
- SQL UPPER()用法及代码示例
- SQL RTRIM()用法及代码示例
- SQL FLOAT转NVARCHAR用法及代码示例
- SQL Datetime转Epoch用法及代码示例
- SQL Datetime转String用法及代码示例
- SQL VARCHAR转INT用法及代码示例
- SQL NOT用法及代码示例
- SQL IN用法及代码示例
- SQL NOT EQUAL用法及代码示例
- SQL IS NOT NULL用法及代码示例
- SQL IS NULL用法及代码示例
- SQL LIKE用法及代码示例
- SQL DROP和TRUNCATE的区别用法及代码示例
- SQL Server CHARINDEX()用法及代码示例
- SQL Server DIFFERENCE()用法及代码示例
- SQL Server IIF()用法及代码示例
- SQL Server ASCII()用法及代码示例
- SQL Server LOG()用法及代码示例
- SQL Server LOG10()用法及代码示例
- SQL Server ATN2()用法及代码示例
注:本文由纯净天空筛选整理自sanuj8655大神的英文原创作品 How to Convert Epoch Time to Date in SQL?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。