使用派生列进行数据类型转换

问题描述 投票:0回答:1

我使用导出列将日期从 csv 转换为 DB 类型,但收到此错误消息

这是csv上的日期类型。

这是格式

这是db上的表

我尝试将派生列与两种不同的表达式一起使用。第一个:
这是第二个

(DT_DBTIMESTAMPOFFSET,7)(SUBSTRING(Horodatage,1,4) + "-" + SUBSTRING(Horodatage,6,2) + "-" + SUBSTRING(Horodatage,9,2) + " " + SUBSTRING(Horodatage,12,2) + ":" + SUBSTRING(Horodatage,15,2) + ":" + SUBSTRING(Horodatage,18,2))

它们都不适合我,我总是收到此错误消息。

我想用 csv 中的数据填充临时表,但没有找到合适的格式来使其工作。

sql-server ssis
1个回答
0
投票

假设

User::Horodatage
变量值如下:

2023/06/09 3:24:52 PM GMT+1

步骤#1:使用以下 SSIS 表达式

REPLACE( REPLACE( @[User::Horodatage], "/", "-"),"GMT+1","") + "+01:00"

它将输出以下值:

2023-06-09 3:24:52 PM +01:00

步骤 #2:将派生列任务输出数据类型保留为

DT_WSTR

如果您的目标列数据类型是 DATETIMEOFFSET(3),则插入后它将是数据库中的以下值:

2023-06-09 15:24:52.000 +01:00
© www.soinside.com 2019 - 2024. All rights reserved.