last 函數 (XQuery)

傳回目前所處理序列中的項目號碼。具體而言,它會傳回序列中最後一個項目的整數索引。序列中第一個項目的索引值為 1。

語法

fn:last() as xs:integer

備註

在 SQL Server 中,fn:last() 只能用於內容相依述詞的內容中。具體而言,它只能在括號 ([ ]) 內使用。

範例

本主題是針對 XML 執行個體提供 XQuery 範例,這些執行個體是儲存在 AdventureWorks 資料庫的各個 xml 類型的資料行中。如需這些資料行中每個資料行的概觀,請參閱<在 AdventureWorks 資料庫中的 xml 資料類型表示法>。

A. 使用 last() XQuery 函數以擷取兩個製造步驟

下列查詢會擷取特定產品型號的最後兩個製造步驟。在此查詢中使用了 last() 函數所傳回的製造步驟數目值,以擷取最後兩個製造步驟。

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

在前面的查詢中,/AWMI:root//AWMI:Location)[1]/AWMI:step[last()] 中的 last() 函數會傳回製造步驟的數目。此值是用以擷取工作中心位置的最後一個製造步驟。

以下是結果:

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>