last-Funktion (XQuery)

Gibt die Anzahl der Elemente in der Sequenz zurück, die zurzeit verarbeitet wird. Insbesondere wird der ganzzahlige Index des letzten Elements in der Sequenz zurückgegeben. Das erste Element in der Sequenz besitzt den Indexwert 1.

Syntax

fn:last() as xs:integer

Hinweise

In SQL Server kann fn:last() nur im Kontext eines kontextabhängigen Prädikats verwendet werden. Insbesondere kann die Funktion nur innerhalb von Klammern ([ ]) verwendet werden.

Beispiele

Dieses Thema stellt XQuery-Beispiele für XML-Instanzen bereit, die in verschiedenen Spalten des xml-Typs in der AdventureWorks-Datenbank gespeichert werden. Einen Überblick über diese Spalten bietet Darstellung des xml-Datentyps in der AdventureWorks-Datenbank.

A. Verwenden der last()-Funktion von XQuery zum Abrufen der letzten beiden Fertigungsschritte

Die folgende Abfrage ruft die letzten beiden Fertigungsschritte für ein bestimmtes Produktmodell ab. Der Wert (die Anzahl der Fertigungsschritte), der von der last()-Funktion zurückgegeben wird, wird in dieser Abfrage zum Abrufen der letzten beiden Fertigungsschritte verwendet.

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

In der vorherigen Abfrage gibt die last()-Funktion in //AWMI:root//AWMI:Location)[1]/AWMI:step[last()] die Anzahl der Fertigungsschritte zurück. Dieser Wert wird zum Abrufen des letzten Fertigungsschrittes am Arbeitsplatzstandort verwendet.

Dies ist das Ergebnis:

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>

Siehe auch

Verweis

XQuery-Funktionen für den xml-Datentyp

Hilfe und Informationen

Informationsquellen für SQL Server 2005