Sémantique de la valeur Null

La sémantique des valeurs NULL est décrite ci-après.

  • Les opérations arithmétiques ou de comparaison avec une valeur inconnue (NULL) renvoient une valeur inconnue
  • Dans une application Java 2 platform, Enterprise Edition (J2EE) version 1.3, une expression de chemin d'accès utilise une sémantique de jointure externe dans laquelle une zone ou une valeur cmr NULL a pour résultat NULL. Dans J2EE version 1.4, l'expression de chemin d'accès utilise une sémantique de jointure interne.
  • Les opérateurs IS NULL et IS NOT NULL sont applicables aux expressions des chemins d'accès et renvoient TRUE ou FALSE. Les opérateurs booléens AND, OR et NOT utilisent une logique à trois valeurs.
Tableau 1. Sémantique de la valeur Null. Le tableau ci-après indique la sémantique des valeurs NULL.
AND True False Inconnu
True True False Inconnu
False False False False
Inconnu (unknown) Inconnu False Inconnu
Tableau 2. Sémantique de la valeur Null. Le tableau ci-après indique la sémantique des valeurs NULL.
OR True False Inconnu
True True True True
False True False Inconnu
Inconnu (unknown) True Inconnu Inconnu
Tableau 3. Sémantique de la valeur Null. Le tableau ci-après indique la sémantique des valeurs NULL.
  NOT
True False
False True
Inconnu (unknown) Inconnu

Exemple : Sémantique de la valeur NULL

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

Si salary est NULL, l'évaluation de e.salary > 10 renvoie inconnu (unknown) et l'objet employé n'est pas renvoyé. Si la zone CMR dept ou budget est NULL, l'évaluation de e.dept.budget > 100 renvoie inconnu (unknown) et l'objet employé n'est pas renvoyé.

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

Dans J2EE 1.3, si dept ou budget est NULL, l'évaluation de e.dept.budget est NULL, renvoie TRUE et l'objet employé est renvoyé. Dans J2EE 1.4, l'objet employé est renvoyé uniquement si budget est NULL.

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

Si dept est NULL, l'expression de chemin d'accès à plusieurs valeurs e.dept.emps a pour résultat une collection vide (et non une collection contenant une valeur NULL). Un employé dont la valeur dept est NULL n'est pas renvoyé.

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

Si dept est NULL le prédicat a pour résultat inconnu (unknown) et l'objet employé n'est pas renvoyé.

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

Si dept est NULL l'évaluation de l'élément member du prédicat renvoie inconnu (unknown) et l'objet employé n'est pas renvoyé.


Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cque_nvsemant
Nom du fichier : cque_nvsemant.html