Share via


Funções de Contexto – last (XQuery)

Aplica-se a:SQL Server

Retorna o número de itens na sequência que está sendo processada atualmente. Especificamente, retorna o índice de inteiro do último item na sequência. O primeiro item na sequência tem um valor de índice de 1.

Sintaxe

  
fn:last() as xs:integer  

Comentários

Em SQL Server, fn:last() só pode ser usado no contexto de um predicado dependente de contexto. Mais precisamente, ele só pode ser usado entre parênteses ([ ]).

Exemplos

Este tópico fornece exemplos XQuery em instâncias XML armazenadas em várias colunas de tipo xml no banco de dados AdventureWorks.

a. Usando a função last() XQuery para recuperar as últimas duas etapas de fabricação

A consulta a seguir recupera as duas últimas etapas do processo de fabricação de um modelo de produto específico. O valor, o número de etapas de fabricação retornadas pela função last() é usado nesta consulta para recuperar as duas últimas etapas de fabricação.

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  

Na consulta anterior, a função last() em //AWMI:root//AWMI:Location)[1]/AWMI:step[last()] retorna o número de etapas de fabricação. Esse valor é usado para recuperar a última etapa de fabricação no local do centro de trabalho.

Este é o resultado:

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>  

Consulte Também

Funções XQuery em tipos de dados xml