我正在尝试使用 SSIS 包将数据加载到 SQL 表。文本文件的日期列格式为 yyyymmdd,SQL 表的数据类型设置为日期(必须保留为日期),但是当我使用派生列进行转换时,它不断抛出错误。
我尝试过使用以下方法: (DT_DBTIMESTAMP)(SUBSTRING([DATE_Column1,4) + "-" + SUBSTRING([DATE_Column],5,2) + "-" + SUBSTRING([DATE_Column],7,2))。但是,它不起作用。
不断抛出错误,例如“尝试进行类型转换时发生错误。
我已经尝试了所有类型转换的变体来转换为派生列中的日期字段。它的日期列可能有空值或空白值 - 我只是不知道如何解释这一点。任何见解、帮助将不胜感激。
您的表达式中似乎缺少括号和逗号。 尝试:
(DT_DBTIMESTAMP)(SUBSTRING([DATE_Column],1,4) + "-" + SUBSTRING([DATE_Column],5,2) + "-" + SUBSTRING([DATE_Column],7,2))
为了清晰起见,已格式化:
(DT_DBTIMESTAMP)
(
SUBSTRING([DATE_Column], 1, 4)
+ "-" +
SUBSTRING([DATE_Column], 5, 2)
+ "-" +
SUBSTRING([DATE_Column], 7, 2)
)