gpt4 book ai didi

SSIS 派生列表达式

转载 作者:行者123 更新时间:2023-12-01 05:33:17 25 4
gpt4 key购买 nike

从一个平面文件中读取,该文件中有一列包含以下格式的年份和月份 --> “201212”。

我需要将它插入 DATETIME2 列,但首先我必须用“/”解析它并添加“01”作为日期。这样 201212 就会变成 2012/12/01

我在派生列转换中的表达式如下所示:

(DT_DBTIMESTAMP2,0)((DT_WSTR,4)SUBSTRING(RptMthDTM,1,4) + "/" + (DT_WSTR,2)SUBSTRING(RptMthDTM,5,2) + "/" + "01")

这似乎应该有效并且 SSIS 接受它(因为它可以解析表达式)但是在运行包时它会抛出一个完全无用的错误“尝试执行类型转换时发生错误。”以及错误所在的列。

我没有构建这个包,它被典当了,我被告知要让它工作。

在此先感谢 interwebs 家族。

最佳答案

DT_DBTIMESTAMP2只能从特定的字符串格式转换:yyyy-mm-dd hh:mm:ss[.fffffff]

您可以改用此表达式:

(DT_DBTIMESTAMP2,0)((DT_WSTR,4)SUBSTRING(RptMthDTM,1,4) + "-" + (DT_WSTR,2)SUBSTRING(RptMthDTM,5,2) + "-" + "01 00:00:00")

更多详情:[http://msdn.microsoft.com/en-us/library/ms141036.aspx][1]

关于SSIS 派生列表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13752478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com