ヌル値のセマンティクス

以下は、NULL 値のセマンティクスを説明したものです。

  • 不明な (NULL) 値での比較演算または算術演算は、不明な値を生み出します。
  • Java 2 Platform, Enterprise Edition (J2EE) バージョン 1.3 アプリケーションでは、パス式は、NULL フィールドまたは cmr 値を NULL と評価する、外部結合セマンティックを使用します。 J2EE バージョン 1.4 では、パス式は、内部結合セマンティックを使用します。
  • IS NULL および IS NOT NULL 演算子は、パス式に適用可能で、TRUE または FALSE を戻します。 ブール演算子 AND、OR、および NOT は、3 値論理を使用します。
表 1. ヌル値のセマンティクス. 以下の表は、NULL 値のセマンティクスを説明したものです。
AND true False 不明
True true False 不明
False False False False
不明 不明 False 不明
表 2. ヌル値のセマンティクス. 以下の表は、NULL 値のセマンティクスを説明したものです。
OR true False 不明
True true true true
False true False 不明
不明 true 不明 不明
表 3. ヌル値のセマンティクス. 以下の表は、NULL 値のセマンティクスを説明したものです。
  NOT
True False
False true
不明 不明

例: ヌル値のセマンティクス

select object(e) from EmpBean where e.salary > 10  and e.dept.budget > 100

給料が NULL の場合、e.salary > 10 の計算は unknown を戻し、 従業員オブジェクトは戻されません。 cmr フィールド部門または予算が NULL の場合、 e.dept.budget > 100 の計算は unknown を戻し、 その従業員オブジェクトは戻されません。

select object(e) from EmpBean where e.dept.budget is null

J2EE 1.3 では、部門または予算が NULL で、 e.dept.budget の計算が NULL の場合は TRUE を戻し、その従業員オブジェクトは戻されます。 J2EE 1.4 では、従業員オブジェクトは、予算が NULL の場合にのみ戻されます。

select object(e) from EmpBean e ,  in (e.dept.emps) e1 where e1.salary > 10

部門が NULL の場合は、多価のパス式 e.dept.emps の結果は、空のコレクションになります (ヌル値を含むコレクションではありません)。 部門がヌル値の従業員は、戻されません。

select object(e) from EmpBean e where  e.dept.emps is empty

部門が NULL の場合、この述部の計算は unknown を戻し、その従業員オブジェクトは戻されません。

select object(e) from EmpBean e , EmpBean e1  where e member of  e1.dept.emps

部門が NULL の場合、述部のメンバーの計算は unknown を戻し、 その従業員は戻されません。


トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cque_nvsemant
ファイル名:cque_nvsemant.html