首页 >数据库 >mysql教程 >如何在 SQL Server 中创建 UNIX_TIMESTAMP() 等效项?

如何在 SQL Server 中创建 UNIX_TIMESTAMP() 等效项?

Barbara Streisand
Barbara Streisand原创
2025-01-04 20:34:40761浏览

How to Create a UNIX_TIMESTAMP() Equivalent in SQL Server?

在 SQL Server 中创建 UNIX_TIMESTAMP() 等效项

MySQL 的 UNIX_TIMESTAMP() 函数允许用户将日期时间值转换为数字自 Unix 纪元 (1970-01-01 00:00:00 世界标准时间)。为了在 SQL Server 2008 中实现类似的功能,我们可以采用一个简单的计算:

SELECT DATEDIFF(s, '1970-01-01 00:00:00', DateField);

此计算减去 Unix 纪元和指定 DateField 之间的秒数。例如,要将日期“2022-12-31 12:00:00”转换为 Unix 时间戳,我们将执行:

SELECT DATEDIFF(s, '1970-01-01 00:00:00', '2023-01-01 12:00:00');

这将产生结果:1672531200,它代表秒数自 Unix 纪元以来。

但是,如果您需要毫秒精度(可在 SQL Server 2016/13.x 及更高版本),您可以使用以下计算:

SELECT DATEDIFF_BIG(ms, '1970-01-01 00:00:00', DateField);

此计算以更高的精度返回自 Unix 纪元以来的毫秒数。

以上是如何在 SQL Server 中创建 UNIX_TIMESTAMP() 等效项?的详细内容。更多信息请关注PHP中文网其他相关文章!

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