📜  纪元到日期时间 - SQL (1)

📅  最后修改于: 2023-12-03 14:56:49.643000             🧑  作者: Mango

纪元到日期时间 - SQL

在SQL中,我们可以使用一些内置函数将纪元时间戳转换为易读的日期和时间格式。纪元时间指的是1970年1月1日距离当前时间的秒数。

函数介绍
DATEADD

DATEADD函数可以在一个日期上添加指定的时间间隔,返回更新后的日期。我们可以利用这个函数把纪元时间转换成真实的日期时间。

DATEADD(interval, number, date)

其中,interval参数指定了时间间隔,可以是year、quarter、month、day、hour、minute或second;number参数指定了要添加的数量;date参数指定了要添加的日期或日期时间。

DATEPART

DATEPART函数可以返回指定日期的部分,比如年、月、日、小时、分钟和秒钟。我们可以利用这个函数获取纪元时间的各个部分。

DATEPART(interval, date)

其中,interval参数可以是year、quarter、month、day、hour、minute或second;date参数指定了要获取的日期或日期时间。

示例代码

下面是一些示例代码,演示如何将纪元时间戳转换成日期时间格式。

转换成日期
SELECT DATEADD(second,StartTime,'19700101 00:00:00') AS StartTime
FROM YourTable

这个例子中,我们使用DATEADD函数将纪元时间戳(StartTime)添加到1970年1月1日的起始日期,从而得到真实的日期时间。

获取年份
SELECT DATEPART(year, DATEADD(second,StartTime,'19700101 00:00:00')) AS StartYear
FROM YourTable

这个例子中,我们首先使用DATEADD函数将纪元时间戳转换成日期时间格式,然后使用DATEPART函数获取年份。

转换成日期时间
SELECT CONVERT(VARCHAR(19), DATEADD(second,StartTime,'19700101 00:00:00'), 120) AS StartTime
FROM YourTable

这个例子中,我们使用DATEADD函数将纪元时间戳转换成日期时间格式,然后使用CONVERT函数将其格式化为字符串,格式码为120(即yyyy-mm-dd hh:mi:ss)。

总结

在SQL中,我们可以利用DATEADD和DATEPART函数将纪元时间戳转换成易读的日期时间格式,并获取对应的年、月、日、小时、分钟和秒钟。这些函数为我们处理日期和时间带来了极大的便利。