Partager via


Expressions logiques (XQuery)

S’applique à :SQL Server

XQuery prend en charge les opérateurs logiques etet ou .

expression1 and expression2  
expression1 or expression2  

Les expressions de test, expression1,``expression2, dans SQL Server peuvent entraîner une séquence vide, une séquence d’un ou plusieurs nœuds ou une seule valeur booléenne. D'après le résultat, la valeur booléenne effective est déterminée de la façon suivante :

  • Si les résultats d'une expression de test est une séquence vide, le résultat de l'expression est False.

  • Si les résultats de l'expression de test est une seule valeur booléenne, cette valeur est le résultat de l'expression.

  • Si l'expression de test génère une séquence d'un ou plusieurs nœuds, le résultat de l'expression est True.

  • Sinon, une erreur statique est générée.

L’opérateur logique etet ou est ensuite appliqué aux valeurs booléennes résultantes des expressions avec la sémantique logique standard.

La requête suivante récupère à partir du catalogue de produits les petites images d’angle frontal, l’élément <Picture> , pour un modèle de produit spécifique. Notez que pour chaque document de description de produit, le catalogue peut stocker une ou plusieurs illustrations avec différents attributs tels que taille et angle de prise de vue.

SELECT CatalogDescription.query('  
     declare namespace PD="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription";  
     for $F in /PD:ProductDescription/PD:Picture[PD:Size="small"   
                                                 and PD:Angle="front"]  
     return   
         $F   
    ') as Result  
FROM  Production.ProductModel  
where ProductModelID=19  

Voici le résultat obtenu :

<PD:Picture   
  xmlns:PD="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription">  
  <PD:Angle>front</PD:Angle>  
  <PD:Size>small</PD:Size>  
  <PD:ProductPhotoID>31</PD:ProductPhotoID>  
</PD:Picture>  
  

Voir aussi

Expressions XQuery