【问题标题】:How to convert Datetime to Timestamp in SSIS如何在 SSIS 中将日期时间转换为时间戳
【发布时间】:2019-08-14 07:18:00
【问题描述】:

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

我总是在 google 搜索中找到 Unix TimeStamp 到 DateTime。

我正在使用派生列组件。

我试过这三个表达式都没有成功:

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

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

(DT_DBTIMESTAMP)[DateToConvert]`

我期望1571097600 的输出为15/10/2019

提前致谢

【问题讨论】:

  • Excel 日期存储为 Unix 时间戳。它们以 SSIS 和 OLEDB 已经理解的格式存储,并且不需要需要额外的转换
  • Excel 文件实际上 包含什么?实际日期还是整数偏移量?
  • Excel 日期不是 Unix 时间戳。它们存储为OA Dates。它们从 1899-12-30 开始,而不是 1070-01-01,但它们不需要因为 OLEDB 已经了解该类型

标签: sql-server datetime ssis unix-timestamp derived-column


【解决方案1】:

你快到了,试试下面的表达式,转换成DT_DATEDT_DBTIMESTAMP而不是DT_DBTIME

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

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

【讨论】:

  • 工作如预期,你节省了我的一天
猜你喜欢
  • 1970-01-01
  • 2019-04-03
  • 1970-01-01
  • 2017-04-25
  • 2022-01-08
  • 1970-01-01
相关资源
最近更新 更多