Condividi tramite


Funzioni di contesto - last (XQuery)

Si applica a:SQL Server

Restituisce il numero di elementi della sequenza da elaborare. In particolare, restituisce l'indice di valori interi dell'ultimo elemento della sequenza. Il valore di indice del primo elemento della sequenza è 1.

Sintassi

  
fn:last() as xs:integer  

Osservazioni:

In SQL Server fn:last() può essere usato solo nel contesto di un predicato dipendente dal contesto. In particolare, può essere utilizzata solo tra parentesi ([ ]).

Esempi

In questo argomento vengono forniti esempi di XQuery su istanze XML archiviate in varie colonne di tipo xml nel database AdventureWorks.

R. Utilizzo della funzione XQuery last() per recuperare le ultime due fasi di produzione

La query seguente recupera le ultime due fasi di produzione relative a un modello di prodotto specifico. Il valore, il numero di passaggi di produzione restituiti dalla funzione last() viene usato in questa query per recuperare gli ultimi due passaggi di produzione.

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  

Nella query precedente, la funzione last() in //AWMI:root//AWMI:Location)[1]/AWMI:step[last()] restituisce il numero di passaggi di produzione. Tale valore viene utilizzato per recuperare l'ultima fase di produzione nel centro di lavorazione.

Risultato:

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>  

Vedi anche

Funzioni XQuery per il tipo di dati XML