時間が実際に時間のように見えるように、時間がフラットファイルソースに書き込まれる方法を変換しようとしています。それは4-1文字長くできるようにSSIS:その他の派生列式
は、今私は1215
、630
、10
、1
、...などとしてそれを持っているので、私は、列の長さに応じて、それを変換する必要があります。
私は式を使ってDerived Columnでこれをやっていますが、私の構文が間違っているかどうかわかりませんが、エラーが出ます:
私は2つだけの値でそれを行うと(LEN([TIME OCC]) == 4) ? (SUBSTRING([TIME OCC],1,2) + ":" + SUBSTRING([TIME OCC],3,2)) : (LEN([TIME OCC]) == 3) ? (SUBSTRING([TIME OCC],1,1) + ":" + SUBSTRING([TIME OCC],2,2)) : (LEN([TIME OCC]) == 2) ? (SUBSTRING([TIME OCC],1,2) + ":00") : (LEN([TIME OCC]) == 1) ? (SUBSTRING([TIME OCC],1,1) + ":00")
はそれが完璧に動作しているよう以下のように:私は任意の助けをいただければ幸いです
LEN([TIME OCC]) == 3 ? SUBSTRING([TIME OCC],1,1) + ":" + SUBSTRING([TIME OCC],2,2) : SUBSTRING([TIME OCC],1,2) + ":" + SUBSTRING([TIME OCC],3,2)
、ありがとうございました!
どのようなエラーメッセージが表示されますか? –
"無効なトークン、不完全なトークン、または無効な要素が含まれている可能性があります。整形式でないか、かっこなどの必須要素の一部が欠落している可能性があります。" - 表現を書く方法とそのどれもうまくいかないようです。 –
は「10」は「00:10」を意味しますか?最も簡単なことは、ゼロをパッドに残し、分割して ':'を入れることです。次に大きなネスト式を使う必要はありません –