IS [NOT] NULL (Entity SQL)

Détermine si une expression de requête a la valeur NULL.

expression IS [ NOT ] NULL

Arguments

  • expression
    Toute expression de requête valide. Ne peut pas être une collection, posséder des membres de collection ou être un type d'enregistrement avec des propriétés de type collection.
  • NOT
    Inverse le résultat Boolean de l'opérateur IS [NOT] NULL.

Valeur de retour

true si expression retourne la valeur NULL ; sinon, false.

Notes

Utilisez IS NULL pour déterminer si l'élément d'une jointure externe est NULL :

select c 
      from LOB.Customers as c left outer join LOB.Orders as o 
                              on c.ID = o.CustomerID  
      where o is not null and o.OrderQuantity = @x

Utilisez IS NULL pour déterminer si un membre a une valeur réelle :

select c from LOB.Customer as c where c.DOB is not null

Le tableau ci-dessous montre le comportement de l'opérateur IS NULL sur certains modèles. Toutes les exceptions sont levées du côté client avant que le fournisseur ne soit appelé :

Modèle Comportement

null IS NULL

Retourne true.

TREAT (null AS EntityType) IS NULL

Retourne true.

TREAT (null AS ComplexType) IS NULL

Génère une erreur.

TREAT (null AS RowType) IS NULL

Génère une erreur.

EntityType IS NULL

Retourne true ou false.

ComplexType IS NULL

Génère une erreur.

RowType IS NULL

Génère une erreur.

Exemple

La requête Entité SQL ci-dessous utilise l'opérateur IS NOT NULL pour déterminer si une expression de requête n'a pas la valeur NULL. Cette requête est basée sur le modèle de vente AdventureWorks Sales Model. Pour compiler et exécuter cette requête, procédez comme suit :

  1. Suivez la procédure indiquée dans Procédure : exécuter une requête qui retourne des résultats StructuralType (EntityClient).

  2. Passez à la méthode ExecuteStructuralTypeQuery la requête suivante en tant qu'argument :

SELECT VALUE product FROM AdventureWorksEntities.Product 
    AS product WHERE product.Color IS NOT NULL

La sortie est présentée ci-dessous :

ProductID: 317
Name: LL Crankarm
ProductNumber: CA-5965
MakeFlag: False
ProductID: 318
Name: ML Crankarm
ProductNumber: CA-6738
MakeFlag: False
ProductID: 319
Name: HL Crankarm
ProductNumber: CA-7457
MakeFlag: False
ProductID: 320
Name: Chainring Bolts
ProductNumber: CB-2903
MakeFlag: False
ProductID: 321
Name: Chainring Nut
ProductNumber: CN-6137
MakeFlag: False
...

Voir aussi

Concepts

Opérateurs de comparaison (Entity SQL)
Référence Entity SQL