【发布时间】:2018-01-17 16:21:03
【问题描述】:
我正在读取 VB.net 脚本源组件中的文件列表以创建文件名列表和 LastWriteDate 以创建文件列表。 LastWriteDate 在脚本源中作为 DateTime 保存并输出到存储在目标 Recordset 中的 DT_DBTIMESTAMP。
我在源和目标之间的数据流上放置了一个查看器,它显示DT_DBTIMESTAMP 的第一个文件的值为2018-01-15 15:55:05.765。
然后,在控制流中,我在记录集上执行 ForEach 循环。
在其中我有一个 DateTime 类型的变量,它映射到 DT_TIMESTAMP。
在 ForEach 内部,我有一个脚本组件,将 DT_TIMESTAMP 映射到组件中。
该组件将 DT_TIMESTAMP 检索到 DateTime 变量中,但将其存储为
1/15/2018 3:55:06 PM。
不仅格式会改变,精度也会改变。
我对这里发生的事情有点困惑,但我认为DT_TIMESTAMP 中的完整日期和时间在我的第二个脚本中仍然可用,但我不清楚如何获取它。
有没有办法在我的脚本中设置 DateTime 变量以显示与DT_TIMESTAMP 相同的精度?也许我需要将接收脚本变量定义为 DateTime 以外的其他内容,即 DT_TIMESTAMP 等效项?
有没有办法防止脚本组件中的 DateTime 变量将 DT_TIMESTAMP 中的值四舍五入,以便将其转换为 1/15/2018 3:55:05 PM?
【问题讨论】:
标签: sql sql-server datetime ssis etl