【发布时间】:2016-10-14 11:15:12
【问题描述】:
我已经尝试了几个选项来使其工作,但到目前为止使用派生列将 Unix 转换为日期时间都没有成功。
有问题的列作为 DT_WSTR 加载(我也尝试过 DT_I4 和 DT_I8),然后派生列应该使用日期时间创建新列。
这是我目前拥有的:
DATEADD("ss", (dt_i4)[logged_date], (dt_date)("1970-01-01"))
当我尝试执行时,我在派生列上得到一个错误,它只是指出
“评估函数时发生错误”
任何帮助将不胜感激。
【问题讨论】:
-
忘了把方括号放在帖子上。编辑反映。记录的日期是 csv 平面文件中的一列。
-
抱歉,logged_date 里面的类型是什么?与演员阵容一致吗?
-
logged_date 列具有 Unix 时间戳。我已经尝试将它从源转换为字符串和整数,但是在尝试使用 SSIS DATEADD 函数时派生列转换失败。
-
尝试在平面文件源编辑器中修改 DataType 输出列(对应于 logged_date):属性 -> 显示高级编辑器 -> 输入和输出属性 -> 输出列。
-
不幸的是,这是我每次更改列数据类型时都会做的事情,即使这样仍然对我不起作用。
标签: sql-server csv ssis unix-timestamp