首页 >数据库 >mysql教程 >如何在 SQL Server 中将纪元时间戳转换为人类可读的日期和时间?

如何在 SQL Server 中将纪元时间戳转换为人类可读的日期和时间?

DDD
DDD原创
2025-01-11 07:35:421000浏览

How to Convert Epoch Timestamps to Human-Readable Dates and Times in SQL Server?

在SQL Server中将纪元时间戳转换为易于阅读的日期和时间格式

Unix时间戳表示自1970年1月1日Unix纪元开始以来经过的秒数。当将包含纪元时间戳的数据导入SQL Server时,需要将其转换为易于阅读的格式,以便进行分析和显示。

SQL Server 提供了 DATEADD 函数来处理日期和时间,从而解决此转换问题。通过将纪元时间戳作为第二个参数,并将参考日期 '19700101' (1970年1月1日) 作为第三个参数,您可以计算相应的SQL Server时间戳:

<code class="language-sql">SELECT DATEADD(ss, 1291388960, '19700101')</code>

这将返回一个 DATETIME 值,您可以将其存储在表中或用于进一步处理。

如果您需要以特定方式格式化转换后的时间戳,可以使用 CAST 或 CONVERT 函数。例如,要将时间戳格式化为 "2010-12-03 15:09:20.000":

<code class="language-sql">SELECT CAST(DATEADD(ss, 1291388960, '19700101') AS DATETIME2(0))</code>

同样,您可以使用相同的方法转换包含纪元时间戳的多个列:

<code class="language-sql">UPDATE table_name
SET column1 = DATEADD(ss, column1, '19700101'),
    column2 = DATEADD(ss, column2, '19700101'),
    column3 = DATEADD(ss, column3, '19700101')
WHERE ...</code>

以上是如何在 SQL Server 中将纪元时间戳转换为人类可读的日期和时间?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn