目的
この制御によって、ユーザーは、フィールド モードのレポートでNULLフィールド値を表わすデフォルトの"?"の代わりに使用する文字列を指定できます。
構文
次のような場合に当てはまります。
- string
- 最大253文字の引用文字列。
最初のデフォルト値は、'?'です。
使用上の注意
このコマンドで指定した文字列は、同じセッションで新しくNULLコマンドを使用するまで有効です。
文字列の中に、特殊文字を使用しないでください。特殊文字の解釈は、出力デバイスごとに異なることがあります。 そのため、出力を別のデバイスに送る場合には、特殊文字を含むスクリプトの修正が必要になる場合もあります。
文字列に単一引用符が含まれている場合は、NULLコマンドの2番目の形式、つまり、区切り記号として二重引用符を付けた形式を使用するか、または単一引用符を二重にします。例えば、次のようになります。
.SET NULL AS "value's missing"
または
.SET NULL AS 'value''s missing'
単一引用符が含まれていない場合には、NULLコマンドの2つの形式はまったく同じです。
NULL設定が影響するのはフィールド モードの出力のみです。レコード モード、標識モード、またはマルチパート標識モードの出力には影響しません。
NULLコマンドはTeradata SQLマクロで使用できます。
例1 – NULL
次の2つのselect操作は、NULLコマンドを使用して、返されるNULLフィールド値を表わす文字を指定した場合の結果を示します。
.logon sia1/td1,td1database; .defaults .format on .set null as '0' select Name,DeptNo,NULLIFZERO(hcap)(Title 'Handicap')from Employee order by Name; .set null as '-' =1; .format off .logoff .exit
BTEQの応答
最初のselect操作への応答ではNULLの文字としてゼロが使用され、次のような結果が返されます。
*** Query completed. 21 rows found. 3 columns returned. *** Total elapsed time was 1 second. 90/11/05 select Name ,DeptNo,NULLIFZERO (hcap)(Title 'Handicap ... Page 1 Name DeptNo Handicap ------------ ------ -------- Aguilar J 600 0 Brangle B 700 0 Carter J 500 0 Chin M 100 0 Clements D 700 0 Greene W 100 0 . . . (etc)
2番目のselect操作への応答ではNULLの文字としてハイフンが使用され、次のような結果が返されます。
*** Query completed. 21 rows found. 3 columns returned. *** Total elapsed time was 1 second. 90/11/05 select Name,DeptNo,NULLIFZERO (hcap)(Title 'Handicap ... Page 1 Name DeptNo Handicap ------------ ------ -------- Aguilar J 600 - Brangle B 700 - Carter J 500 - Chin M 100 0 Clements D 700 0 Greene W 100 0 . . . (etc)
2番目のselect操作への応答ではNULLの文字としてハイフンが使用され、次のような結果が返されます。
*** Query completed. 21 rows found. 3 columns returned. *** Total elapsed time was 1 second. 90/11/05 select Name,DeptNo,NULLIFZERO (hcap)(Title 'Handicap ... Page 1 Name DeptNo Handicap ------------ ------ -------- Aguilar J 600 - Brangle B 700 - Carter J 500 - Chin M 100 - Clements D 700 - Greene W 100 - . . . (etc)
例2 – マクロによって出力されるNULL
Teradata SQLマクロでは、使用例1のNULLコマンドは次のようになります。
ECHO '.SET NULL AS ''0'' '; ECHO '.SET NULL AS ''-'' ';
または
ECHO '.SET NULL AS "0"'; ECHO '.SET NULL AS "-"';