📅  最后修改于: 2023-12-03 15:25:20.446000             🧑  作者: Mango
在日常的开发中,我们有时需要将日期时间转换成纪元时间(Epoch Time),也就是UNIX时间戳。UNIX时间戳是从1970年1月1日00:00:00以来的秒数,通常以整数形式表示。
在SQL中,我们可以使用内置的DATEPART函数和DATEDIFF函数来实现时间转换。
以下是将给定的日期时间转换成纪元的SQL代码片段:
DECLARE @date DATETIME = '2022-03-05 11:22:33'
SELECT DATEDIFF(second, '1970-01-01 00:00:00', @date)
@date
。输出结果如下:
1646466153
以下是将给定的纪元转换成日期时间的SQL代码片段:
DECLARE @epoch BIGINT = 1646466153
SELECT DATEADD(second, @epoch, '1970-01-01 00:00:00')
@epoch
。输出结果如下:
2022-03-05 11:22:33.000
通过使用SQL中的DATEPART函数和DATEDIFF函数,我们可以轻松地将日期时间转换成纪元时间,也可以将纪元时间转换成日期时间。这在各种场景中都很有用,比如在处理日志数据、时间序列数据等时。