Udostępnij za pośrednictwem


Funkcje kontekstu — ostatnie (XQuery)

Dotyczy:programu SQL Server

Zwraca liczbę elementów w sekwencji, która jest obecnie przetwarzana. W szczególności zwraca indeks liczby całkowitej ostatniego elementu w sekwencji. Pierwszy element w sekwencji ma wartość indeksu 1.

Składnia

  
fn:last() as xs:integer  

Uwagi

W programie SQL Server fn:last() można używać tylko w kontekście predykatu zależnego od kontekstu. W szczególności można go używać tylko wewnątrz nawiasów ([ ]).

Przykłady

Ten temat zawiera przykłady zapytań XQuery dla wystąpień XML przechowywanych w różnych kolumnach xml typów w bazie danych AdventureWorks.

A. Używanie funkcji last() XQuery w celu pobrania dwóch ostatnich kroków produkcyjnych

Poniższe zapytanie pobiera dwa ostatnie kroki produkcyjne dla określonego modelu produktu. Wartość, liczba kroków produkcyjnych zwróconych przez funkcję last(), jest używana w tym zapytaniu w celu pobrania dwóch ostatnich kroków produkcyjnych.

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  

W poprzednim zapytaniu funkcja last() w //AWMI:root//AWMI:Location)[1]/AWMI:step[last()] zwraca liczbę kroków produkcyjnych. Ta wartość służy do pobierania ostatniego kroku produkcyjnego w lokalizacji centrum pracy.

Jest to wynik:

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>  

Zobacz też

funkcji XQuery względem typu danych XML