SQL选择到SSIS派生列

时间:2019-06-20 05:34:35

标签: sql sql-server ssis expression etl

我有这个选择查询。

SELECT REPLACE(LTRIM(REPLACE('000010A', '0', ' ')),' ', '0')

'000010A'= Customer_And_Partner_Account_Nr 

我想在通过SQL表中的SSIS加载数据时创建一个New列。

SELECT REPLACE(LTRIM(REPLACE('000010A', '0', ' ')),' ', '0')

请帮助我在表达式中创建SSIS中的派生列。

2 个答案:

答案 0 :(得分:1)

您可以使用相同的表达式,但用双引号替换单引号:

REPLACE(LTRIM(REPLACE([Customer_And_Partner_Account_Nr], "0", " ")," ", "0")

答案 1 :(得分:1)

您是否考虑过使用脚本组件而不是派生列?

在脚本组件中,您可以重载ProcessInputRow事件,并在列上使用TrimStart("0"c)方法来消除前导零。

它还应该提高流的性能,因为(1)仅需要单次操作,并且(2)仅扫描输入字符串的一部分。