将INT(表示UNIX时间戳)转换为DBTIMESTAMP

时间:2013-01-10 12:53:57

标签: sql-server ssis

我想进行数据流转换。我的源数据库包含一个带有UNIX时间戳的INT列(我知道这很糟糕,它是一个非常古老的系统,bla bla bla ...;))。我想将这个INT-TIMESTAMP-thingy转换为可用于Date-Dimension的东西,最好是DBTIMESTAMP。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:3)

在SQL中:

select DATEADD(s,unixtimestamp,'1970-01-01') as sqldatetimestamp 
from mytable

在SSIS表达式中:

DATEADD( "S", [unixtimestamp] , (DT_DATE) "1970-01-01" )

当然这假设您拥有的unixtimestamp确实是这个,它被定义为自1-1-1970以来的秒数。