Fonction last (XQuery)

Renvoie le nombre d'éléments de la séquence en cours de traitement. Renvoie plus précisément l'index entier du dernier élément de la séquence. Le premier élément de la séquence a une valeur d'index de 1.

Syntaxe

fn:last() as xs:integer

Notes

Dans SQL Server, la fonction fn:last() ne peut être utilisée que dans le cadre d'un prédicat contextuel. Autrement dit, elle ne peut être utilisée qu'à l'intérieur de crochets ([ ]).

Exemples

Cette rubrique propose des exemples de XQuery relatifs à des instances XML stockées dans différentes colonnes de type xml tirées de la base de données AdventureWorks.

A.Utilisation de la fonction XQuery last() pour récupérer les deux dernières étapes de fabrication.

La requête suivante récupère les deux dernières étapes de fabrication d'un modèle de produit spécifique. La valeur (le nombre d'étapes), renvoyée par la fonction last() est utilisée dans cette requête pour récupérer les deux dernières étapes de fabrication.

SELECT ProductModelID, Instructions.query(' 
declare namespace AWMI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";
  <LastTwoManuSteps>
   <Last-1Step> 
     { (/AWMI:root/AWMI:Location)[1]/AWMI:step[(last()-1)]/text() }
   </Last-1Step>
   <LastStep> 
     { (/AWMI:root/AWMI:Location)[1]/AWMI:step[last()]/text() }
   </LastStep>
  </LastTwoManuSteps>
') as Result
FROM Production.ProductModel
WHERE ProductModelID=7

Dans la requête précédente, la fonction last() dans //AWMI:root//AWMI:Location)[1]/AWMI:step[last()] renvoie le nombre d'étapes de fabrication. Cette valeur permet de récupérer la dernière étape de fabrication sur ce poste de travail.

Voici le jeu de résultats obtenu :

ProductModelID Result  
-------------- -------------------------------------
7      <LastTwoManuSteps>
         <Last-1Step>
            When finished, inspect the forms for defects per 
            Inspection Specification .
         </Last-1Step>
         <LastStep>Remove the frames from the tool and place them 
            in the Completed or Rejected bin as appropriate.
         </LastStep>
       </LastTwoManuSteps>

Voir aussi

Référence

Fonctions XQuery impliquant le type de données xml