gpt4 book ai didi

sql-server - 我们可以在 SSIS 中将 string 或 char 数据类型转换为 int (或 numeric)吗

转载 作者:行者123 更新时间:2023-12-02 22:49:08 25 4
gpt4 key购买 nike

我觉得这有点挑战性。我有源表和目标表。

源表有一列数据类型为 char 且长度为 2。目标表具有 int 数据类型的列之一。

任务是使用 SSIS 包将数据从源迁移到目标。在此过程中,我使用派生列转换来处理此转换。

源表中的列值为“01”或“02”或“03”。而具有 int 数据类型的目标列无法与源列映射。因为int只识别“1”。 我只想要 1 或 2 或 3,并在目标列中省略 0。

我尝试了以下几件事。

尝试#1:

SUBSTRING(COLNAME, 2, 1)

这给了我“01”中的“1”,但是当我这样做时

(DT_R4) SUBSTRING(COLNAME, 2, 1 )

这让我彻底失望了。

尝试#2:

我尝试像下面这样进行转换。

(DT_DECIMAL, 2)(DT_R4) SUBSTRING(COLNAME, 2, 1 )

但效果并不好。

如果有出路,我很感激这里的任何指示。

最佳答案

由于目标列的类型为 Integer DT_I4,因此您应该在派生列中使用以下表达式:

(DT_I4)[SourceColumn]

同时检查 Null 和空字符串:

ISNULL([SourceColumn]) ? NULL(DT_I4): ([SourceColumn] == "" ? NULL(DT_I4): (DT_I4)[SourceColumn])

关于sql-server - 我们可以在 SSIS 中将 string 或 char 数据类型转换为 int (或 numeric)吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55270093/

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