スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス
ナル値とは,値がないこと,又は値が設定されていないことを示すために使用する特殊な値です。領域に値がないか,又は設定されていなければ,ナル値が設定されます。また,抽象データ型の値がナル値かどうかは,コンストラクタ関数によって値が生成されているかどうかを示すために使用します。
ナル値の扱いについて次に示します。
標識変数の値でナル値を受け取ったかどうかが分かります。埋込み変数でナル値を受け取ることはできません。詳細は,「1.6.5 標識変数の値の設定」を参照してください。
標識変数の値でナル値を格納したかどうかが分かります。埋込み変数ではナル値を表へ格納できません。詳細は,「1.6.5 標識変数の値の設定」を参照してください。
NULL述語以外の述語で,指定した値式,列,埋込み変数の値がナル値である行に対して,その述語は不定になります。ただし,埋込み変数でナル値を指定するには,標識変数が必要です。
結合列にナル値を持つ行は,どのような行に対しても結合条件を満たしません。
昇順の場合は最後に出力します。降順の場合は,最初に出力します。
グループ分けの条件となる列にナル値を持つ行がある場合は,ナル値同士を同じ値として扱い,グループ分けします。
ナル値同士は,重複するものとして扱います。
集合関数では,基本的にナル値を無視します。ただし,COUNT(*)の場合は,ナル値に関係なく条件を満たすすべての行を計算します。
COUNT(*) OVER()の場合は,ナル値に関係なく条件を満たすすべての行を計算します。
ナル値を含む列に対してもインデクスを定義できます。
データがナル値の場合,四則演算,日付演算,時刻演算,及び連結演算の結果もナル値になります。
VALUE又はSTRTONUM以外のスカラ関数では,引数の値式のどちらかがナル値の場合,結果もナル値になります。スカラ関数VALUEでは,引数の値式がすべてナル値であれば,結果もナル値になります。スカラ関数STRTONUMでは,引数1の値式がナル値であれば,結果もナル値になります。
CASE略式のCOALESCEの場合,引数の値式がすべてナル値であれば,結果もナル値になります。
抽象データ型のナル値の扱いについて,抽象データ型にコンストラクタ関数を指定して値を生成している場合とそうでない場合に分けて,説明します。
論理値が不定であることと,論理値がナル値であることは等価です。
要素にはナル値を持つ場合もあります。また,列の要素が0の場合,列全体をナル値とします。
WRITE指定の場合,引数のどれかがナル値のときは,結果もナル値になります。
次のどれかの条件を満たす場合,GET_JAVA_STORED_ROUTINE_SOURCE指定の結果はナル値になります。
値式にNULLを指定するか,又は値式の結果がナル値の場合は,結果の値はナル値になります。
外部キー構成列中にナル値が含まれる場合,その列は参照制約動作の対象になりません。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.