2009-07-09 5 views
3

5つの文字列を持つテーブルがあり、すべてNULLにすることができます。このテーブルからデータを読み込んだら、空の文字列に変換する必要があります。その理由は、これらの列を(条件付き分割を使用して)同じスキーマの別の表の列と比較する必要があり、NULL値によって比較がNULLに評価されるためです。SSISヌル値に関する質問

SSISには、NULLを空の文字列に変換する機能がありますか、またはNULLを処理する必要はありませんか?

答えて

4

派生列変換を使用できます。私は現在VSを開いていませんが、次のようなものを使用します:

IIF(ISNULL(column)?"":column) 

を式として使用し、元の列を置き換えます。


UPDATE:以下示唆したように、IIFを削除する必要があります。クエリで

ISNULL(column)?"":column 
2

次のように列をラップ...

SELECT ISNULL(col1,'') AS [col1] 
     ,ISNULL(col2,'') AS [col2] 
     ,ISNULL(col3,'') AS [col3] 
     ,ISNULL(col4,'') AS [col4] 
     ,ISNULL(col5,'') AS [col5] 
+0

これは、あなたの入力にクエリを指定する場合は、私がSQL DBA/DB開発者として好むバージョンです列の周りにISNULLを追加するのはかなり簡単で、SSISで追加の変換を行う必要はありません。場合によってはNULLが許可されているテーブルを持つSSISパッケージをたくさん開発していて、しばしばNULLを許可する列に対してのみISNULL関数を使用してSELECTステートメントを作成するスクリプトを作成することもできます。 – Jeff

8

正しい構文は(ISNULL(列) "":列?)であるクエリでIIF

0

なしこのように使用することができます

CASE Tablename.ColumnName WHEN NULL THEN ' ' ELSE Tablename.ColumnName END AS 'Column Name'