有没有办法在SSIS派生列中复制以下表达式?
SELECT CASE
WHEN LEN(column1) > 8
THEN
column1
ELSE
REPLICATE('0', 18 - LEN(column1)) + column1
END AS column1
FROM myTable
如果值的长度小于8个字符,我想用column填充column1的值
答案 0 :(得分:0)
这是一个老问题,但我今天遇到了同样的问题,下面的Derived Column Expression对我有用。它并没有具体地复制"原始问题中的SQL示例(通过使用" REPLICATE")但我发现下面的数据流中使用SSIS派生列填充值更简单一点,并且它很好一个简单的例子" If / Else"声明。 我填充10个零,因为这是SQL在原始问题中的作用。
(LEN(column1) > 8) ? column1 : ("0000000000" + (column1))
答案 1 :(得分:0)
解决方案在这里: 我已经从列下拉列表中将group作为列,然后得出了这些条件。 如果组为“现金资本支出”,则为“资本支出”,其中“内部运营支出”或“外部运营支出”为“运营支出”,否则为“其他”。
[Group] ==“现金支出”? “ Capex”:([Group] ==“ Internal Opex”?“ Opex”:([Group] ==“ External Opex”?“ Opex”:“ Other”))