首页 > 解决方案 > SQL将日期/时间转换为unix时间戳

问题描述

我正在运行一个 SSIS 作业,该作业将多个字符串列拉入 SQL 服务器 2016 数据库,但是我需要创建一个行索引,以便我的作业知道何时获取新数据。我有一个日期/时间字符串列,我正在拉入。我想将其转换为 unix 时间戳,以便我可以在我的代码中使用它来获取新数据。

有没有办法做到这一点?我的字符串列与我拉入的日期/时间如下所示:'2020.07.29 08:43:53''2021.05.03 12:50:22'等。

将我的“日期时间”列中的所有字符串转换为 unix 时间戳的最佳方法是什么?

谢谢

标签: sqlstringssissql-server-2016unix-timestamp

解决方案


您可以将字符串转换为datetime使用:

select convert(datetime, '2021.05.03 12:50:22')

然后,您可以使用以下方法将其转换为 Unix 纪元时间(自 1970-01-01 以来的秒数):

select datediff(second, '1970-01-01', convert(datetime, '2021.05.03 12:50:22'))

是一个 db<>fiddle。


推荐阅读