Share via


Função last (XQuery)

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

Sintaxe

fn:last() as xs:integer

Comentários

No SQL Server, fn:last() pode ser usado somente no contexto de um predicado dependente de contexto. Mais precisamente, ele só pode ser usado entre colchetes ([ ]).

Exemplos

Este tópico fornece exemplos de XQuery em instâncias XML armazenadas em várias colunas do tipo xml no banco de dados AdventureWorks. Para obter uma visão geral de cada uma dessas colunas, consulte Representação de tipo de dados xml no banco de dados do AdventureWorks.

A. Uso da 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, retornado pela função last() é usado nessa 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 precedente, 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

Referência