不明データ:NULL 値

InfoSphere® DataStage® BASIC では、NULL 値に特別なランタイム・データの型があります。これは、InfoSphere DataStage SQL との互換性のために InfoSphere DataStage BASIC に追加されました。NULL 値が表すのは、値が不明なデータです。

注: NULL 値と空白ストリングを混同しないでください。空白ストリングは長さゼロの文字ストリングであり、値がないことが分かっています。 NULL は値が不明なものとして定義されますが、空白ストリングの値は不明ではありません。したがって、空白ストリングを使用して NULL 値を表すことはできませんし、NULL 値を使用して「値がない」ことを表すこともできません。

InfoSphere DataStage BASIC の他のすべてのデータのように、NULL 値は文字ストリングとして内部的に表されます。NULL 値のストリングは、1 バイトの CHAR(128) です。実行時には、この文字に対して明示的または暗黙的に動的な配列が抽出され、これにデータ・タイプ「NULL」が割り当てられます。InfoSphere DataStage BASIC プログラムは、システム変数 @NULL を使用して NULL 値を参照できます。これらのプログラムは、ISNULL 関数ISNULLS 関数を使用して、値が NULL 値かどうかをテストできます。

NULL 値には、印刷可能な表現はありません。 この資料では、時として、記号 l (ラムダ) が NULL 値を表示するのに使用されます。

空白ストリングと NULL 値の違いを次に示します。 ストリング値と空白ストリングを連結した場合はストリングが返されますが、ストリング値と NULL 値を連結した場合は NULL が返されます。

A = @NULL
B = ""
C = "JONES"
X = C:B
Y = C:A

X の結果値は、"JONES" ですが、Y の値は NULL 値です。また、既知データと不明データを連結すると不明データが返されます。

プログラマーは、NULL 値 (型が「NULL」である特別な定数)、および NULL 値の保存表記 (型が「ストリング」の特殊文字 CHAR(128)) との違いをメモしておく必要があります。BASIC プログラムは、システム変数は @NULL の代わりに @NULL.STR を使用して、NULL の保存表記を参照できます。