Sql server 如何在SSIS中将Datetime转换为时间戳
我是SSIS的新手。我正在导入Excel工作表以转换并记录到另一个数据源中。在转换过程中,我需要将一些导入的DateTime转换为它们的时间戳值 我总是在谷歌搜索中找到Unix时间戳到日期时间 我使用的是派生列组件 我尝试过这三种表达方式,但都没有成功: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]`
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])