プライマリ・コンテンツに移動
Oracle® Database SQL言語リファレンス
11gリリース2 (11.2)
B56299-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

PRESENTNNV

構文

presentnnv.gifの説明が続きます。
図「presentnnv.gif」の説明

用途

PRESENTNNVファンクションは、SELECT文のmodel_clauseでのみ、およびモデル・ルールの右側でのみ使用できます。このファンクションは、cell_referencemodel_clauseの実行前に存在し、PRESENTNNVの評価時にNULLではない場合にexpr1を戻します。それ以外の場合はexpr2を戻します。このファンクションは、NVL2とは異なります。NVL2は、model_clauseの実行前の状態のデータを評価するのではなく、実行時のデータを評価します。


関連項目:


次の例では、2002年のマウス・パッドの売上を含む行が存在し、その売上値がNULLではない場合、その売上値を変更しません。その行が存在し、売上値がNULLの場合、その売上値を10に設定します。その行が存在しない場合、売上値を10に設定して行を作成します。

SELECT country, prod, year, s
  FROM sales_view_ref
  MODEL
    PARTITION BY (country)
    DIMENSION BY (prod, year)
    MEASURES (sale s)
    IGNORE NAV
    UNIQUE DIMENSION
    RULES UPSERT SEQUENTIAL ORDER
    ( s['Mouse Pad', 2002] = 
        PRESENTNNV(s['Mouse Pad', 2002], s['Mouse Pad', 2002], 10)
    )
  ORDER BY country, prod, year;

COUNTRY       PROD                                         YEAR           S
----------    -----------------------------------      --------   ---------
France        Mouse Pad                                    1998     2509.42
France        Mouse Pad                                    1999     3678.69
France        Mouse Pad                                    2000     3000.72
France        Mouse Pad                                    2001     3269.09
France        Mouse Pad                                    2002          10
France        Standard Mouse                               1998     2390.83
France        Standard Mouse                               1999     2280.45
France        Standard Mouse                               2000     1274.31
France        Standard Mouse                               2001     2164.54
Germany       Mouse Pad                                    1998     5827.87
Germany       Mouse Pad                                    1999     8346.44
Germany       Mouse Pad                                    2000     7375.46
Germany       Mouse Pad                                    2001     9535.08
Germany       Mouse Pad                                    2002          10
Germany       Standard Mouse                               1998     7116.11
Germany       Standard Mouse                               1999     6263.14
Germany       Standard Mouse                               2000     2637.31
Germany       Standard Mouse                               2001     6456.13

18 rows selected.

この例では、ビューsales_view_refが必要です。このビューを作成する方法については、「例」を参照してください。