Hitachi

Hitachi Advanced Data Binder SQLリファレンス


8.14.4 NVL

指定した対象データを対象データ1対象データ2の順に評価し,ナル値でない最初の値を返します。

メモ

スカラ関数NVLとスカラ関数ISNULLに機能差はありません。

〈この項の構成〉

(1) 指定形式

スカラ関数NVL::=NVL(対象データ1,対象データ2)
 
  対象データ1::=値式
  対象データ2::=値式

(2) 指定形式の説明

対象データ1対象データ2

対象データを指定します。

指定規則を次に示します。

  • 対象データ1および対象データ2は,値式の形式で指定します。値式については,「7.20 値式」を参照してください。

  • 対象データ1および対象データ2には,配列データを指定できません。

  • 対象データ1対象データ2には,比較できるデータ型のデータを指定してください。比較できるデータ型については,「6.2.2 変換,代入,比較できるデータ型」の「(1) 比較できるデータ型」を参照してください。

  • 対象データ1のデータ型がDATE型,TIME型,またはTIMESTAMP型の場合,既定の入力表現の形式に従っている文字列定数を対象データ2に指定できます。既定の入力表現については,「6.3.3 既定の文字列表現」を参照してください。

  • 対象データ1には,?パラメタを単独で指定できません。

  • 対象データ2に?パラメタを指定した場合,対象データ1のデータ型が?パラメタのデータ型として仮定されます。

  • 対象データ2には,対象データ1のデータ型に格納代入できる値を指定する必要があります。格納代入については,「6.2.2 変換,代入,比較できるデータ型」の「(2) 格納代入できるデータ型」を参照してください。

(3) 規則

  1. 実行結果のデータ型とデータ長は,対象データ1のデータ型とデータ長になります。

  2. 実行結果の値は,非ナル値制約なし(ナル値を許す)となります。

  3. 対象データ1および対象データ2がナル値の場合,実行結果はナル値になります。

  4. 対象データ1がナル値の場合,対象データ2の値を対象データ1のデータ型とデータ長に変換します。

(4) 例題

例題

T1C1列,C2列の値に対して,スカラ関数NVLを実行します。

SELECT NVL("C1","C2") FROM "T1"

[図データ]