0

以下のSQL式のSSIS同等の式(派生列コンポーネント)は何ですか

cast(CASE WHEN len(cast(KPI as varchar(3))) > 2 THEN 
        CASE substring(cast(KPI as varchar(3)),3,1)
            WHEN 1 then left(cast(KPI as varchar(3)),1) + 'a'
            WHEN 2 then left(cast(KPI as varchar(3)),1) + 'b'
            WHEN 3 then left(cast(KPI as varchar(3)),1) + 'c'
            WHEN 4 then left(cast(KPI as varchar(3)),1) + 'd'
        END
        ELSE cast(KPI as varchar(3))
    END as VarChar(3)) as 'ColumnName'

ここで Kpi 列は倍精度浮動小数点データ型です...

ここで私が観察した主な点の 1 つは、 SSIS Expression Builder に LEFT String 関数が欠落していることです。

SSISの専門家は見てください..

4

1 に答える 1

0

私は自分のシステムで約1時間試してみました..最終的に答えを見つけました..それが他の誰かに役立つことを願っています.

新しい列 NewKPI を作成し、それを dataconversion コンポーネントで dt_str に変換しました (Justin が述べたように)

(DT_STR,3,1252)(LEN(NewKPI) <= 2 ? NewKPI : (SUBSTRING(NewKPI,3,1) == "1") ? "2A" : (SUBSTRING(NewKPI,3,1) == " 2") ? "2b" : (SUBSTRING(NewKPI,3,1) == "3") ? "2c" : (SUBSTRING(NewKPI,3,1) == "4") ? "2d" : NULL( DT_WSTR,3))

(左の代わりに部分文字列を使用しました)

助けてくれてありがとう

于 2014-03-05T15:47:45.470 に答える