0

SSIS 派生列内の式に少し苦労しています。

ソース フィールドは BOOLEAN データ型です。その宛先フィールドは SQL CHAR データ型です。

** どちらのスキーマも私が設計したわけではないことに注意してください。思い通りになれば、データ型は一致します。残念ながら、これは私の場合ではありません!

CHAR を BOOL に変換する .NET 正規表現の素晴らしい例を見つけました。これは、私が達成しようとしていることとは正反対です。

[valToTranslate] == "Y" ? (DT_BOOL)1 : [valToTranslate] == "N" ? (DT_BOOL)0 : NULL(DT_BOOL)

この式の逆の式を実装しようとしましたが、成功しませんでした。これが私の失敗した試みです:

[valToTranslate] == 0 ? (DT_WSTR,1)"N" : [valToTranslate] == 1 ? (DT_WSTR,1)"Y" : "N"(DT_WSTR)

(DT_WSTR,1) への CAST が CHAR SQL データ型フィールドに対して正しいかどうかはわかりません。代わりに (DT_STR,1) を使用する必要がありますか? どんな助けでも大歓迎です。

4

1 に答える 1

4

簡単なことを試しましたか

[valToTranslate] ? "Y" : "N"

それはうまくいくはずです - Y と N がデフォルトで WSTR であると想定されている場合は、それらを DT_STR にキャストする必要があるかもしれません。

于 2009-05-12T16:13:46.307 に答える