与えられた条件式を評価する関数

syntax

LNNVL ( condition ) Oracle 10g
return [ boolean ]

parameter

condition結果に不定(UNKNOWN、NULL)を含む条件式

return

  • 条件式 condition が UNKNOWN か FALSE なら TRUE を戻す。
  • 条件式 condition が TRUE なら FALSE を戻す。

avail

  • SQL、埋め込みSQL で使用可能、PL/SQL に組み込まれていない。(Oracle 10g R2 時点)

LNNVL 関数の内容

式が、偽か不定なら真、真なら偽を戻す。

条件式 condition が 不定(UNKNOWN) か 偽(FALSE) なら 真(TRUE)を戻し、condition が 真 なら 偽 を戻す。

WHERE NVL(PRICE,0) < 100 または WHERE PRICE < 100 OR PRICE IS NULL
⇒ WHERE LNNVL(PRICE >= 100)

注意

問い合わせの WHERE でのみ記述が可能とあるが Oracle が SQL において論理型をサポートするようになれば、 抽出句/選択項目でも使用が公認されると思われる。

LNNVL 関数の選択リストでの使用方法

SELECT の選択項目には 検索 CASE 式 を用いれば事実上 LNNVL を利用することができる。
サポートされるかは疑問符がつくので現状では使用してはいけない分類になるだろう。

SELECT CASE WHEN LNNVL(NULL>=100) THEN 'UNKNOWN' ELSE 'TRUE' END "NULL COMPARE"
  FROM DUAL ;

NULL COMPARE
------------
UNKNOWN
 


SQL 関数 - LNNVL 関連

 
アルファベット別 関数一覧 ショートカット
ABCDEFG
HILMNOP
RSTUVWX
日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ 会員制(無料)の公式技術サイト