Sdílet prostřednictvím


Kontextové funkce – poslední (XQuery)

platí pro:SQL Server

Vrátí počet položek v posloupnosti, která se právě zpracovává. Konkrétně vrátí celočíselnou index poslední položky v sekvenci. První položka v sekvenci má hodnotu indexu 1.

Syntax

  
fn:last() as xs:integer  

Poznámky

V SQL Serveru lze fn:last() použít pouze v kontextu predikátu závislého na kontextu. Konkrétně lze použít pouze vnitřní závorky ([ ]).

Příklady

Toto téma obsahuje příklady XQuery pro instance XML, které jsou uloženy v různých xml sloupce typu v databázi AdventureWorks.

A. Načtení posledních dvou kroků výroby pomocí funkce last() XQuery

Následující dotaz načte poslední dva výrobní kroky pro konkrétní produktový model. Hodnota, počet výrobních kroků vrácených funkcí last(), se v tomto dotazu použije k načtení posledních dvou výrobních kroků.

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  

V předchozím dotazu vrátí funkce last() v //AWMI:root//AWMI:Location)[1]/AWMI:step[last()] počet výrobních kroků. Tato hodnota se používá k načtení posledního kroku výroby v umístění pracovního centra.

Toto je výsledek:

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>  

Viz také

funkce XQuery proti datového typu XML