Sql server 如何在SSIS中将Datetime转换为时间戳

Sql server 如何在SSIS中将Datetime转换为时间戳,sql-server,datetime,ssis,unix-timestamp,derived-column,Sql Server,Datetime,Ssis,Unix Timestamp,Derived Column,我是SSIS的新手。我正在导入Excel工作表以转换并记录到另一个数据源中。在转换过程中,我需要将一些导入的DateTime转换为它们的时间戳值 我总是在谷歌搜索中找到Unix时间戳到日期时间 我使用的是派生列组件 我尝试过这三种表达方式,但都没有成功: DATEADD("ss",0,[DateToConvert]) DATEDIFF("ss",(DT_DBTIME)"1970-01-01",[DateToConvert]) (DT_DBTIMESTAMP)[DateToConvert]`

我是SSIS的新手。我正在导入Excel工作表以转换并记录到另一个数据源中。在转换过程中,我需要将一些导入的DateTime转换为它们的时间戳值

我总是在谷歌搜索中找到Unix时间戳到日期时间

我使用的是派生列组件

我尝试过这三种表达方式,但都没有成功:

DATEADD("ss",0,[DateToConvert])

DATEDIFF("ss",(DT_DBTIME)"1970-01-01",[DateToConvert])

(DT_DBTIMESTAMP)[DateToConvert]`
我预计2019年10月15日的
1571097600
产量


提前感谢

您就快到了,请尝试以下表达式,将其转换为
DT\u DATE
DT\u DBTIMESTAMP
,而不是
DT\u DBTIME

DATEDIFF("ss",(DT_DATE)"1970-01-01",[DateToConvert])


按预期工作,保存我的日期Excel日期不会存储为Unix时间戳。它们以SSIS和OLEDB已经理解的格式存储,不需要额外的强制转换Excel文件实际上包含什么?实际日期或整数偏移量?Excel日期不是Unix时间戳。它们存储为。它们从1899-12-30开始,而不是
1070-01-01
,但它们不需要任何类型的转换,因为OLEDB已经理解了这种类型
DATEDIFF("ss",(DT_DBTIMESTAMP)"1970-01-01",[DateToConvert])