NULL - Basic Teradata Query

Basic Teradata Query リファレンス

Product
Basic Teradata Query
Release Number
16.20
Published
2018年4月
Language
日本語
Last Update
2019-07-11
dita:mapPath
ja-JP/kil1527114222313.ditamap
dita:ditavalPath
ja-JP/kil1527114222313.ditaval
dita:id
B035-2414
Product Category
Teradata Tools and Utilities

目的

この制御によって、ユーザーは、フィールド モードのレポートで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 "-"';