嗨,我有csv文件数据,例如:-(ActiveDate = 20180105),所以我想将此列保存到数据库中。在我的数据库列中,数据类型为 datetime 。
在将数据转换用作 DT_Date 时,出现此错误:-
转换返回状态值2和状态文本“值 由于潜在的数据丢失而无法转换。
那么我该如何以 datetime 将ActiveDate数据从excel导入到我的数据库中?
你能帮我吗?。
答案 0 :(得分:1)
您必须首先将YYYYMMDD
列中的Data Conversion
转换为String,如下所示:
Input Column Output Column Data Type Length
IntDate StringDate Unicode string [DT_WSTR] 50
然后可以在Derived Column
元素中使用此公式将新的字符串列转换为实际日期:
(DT_DATE)(SUBSTRING(StringDate,1,4) + "-" + SUBSTRING(StringDate,5,2) + "-" + SUBSTRING(StringDate,7,2))
对于日期列为空的数据,请使用以下公式,该公式将在当前日期更改为空:
isnull(StringDate)? GETDATE() : (DT_DATE)(SUBSTRING(StringDate,1,4) + "-" + SUBSTRING(StringDate,5,2) + "-" + SUBSTRING(StringDate,7,2))
结果:
IntDate StringDate DateDate
20170809 20170809 2017-08-09 00:00:00.0000000