last 函數 (XQuery)
傳回目前所處理序列中的項目號碼。具體而言,它會傳回序列中最後一個項目的整數索引。序列中第一個項目的索引值為 1。
語法
fn:last() as xs:integer
備註
在 SQL Server 中,fn:last() 只能用於內容相依述詞的內容中。具體而言,它只能在括號 ([ ]) 內使用。
範例
本主題是針對 XML 執行個體提供 XQuery 範例,這些執行個體是儲存在 AdventureWorks2008R2 資料庫的數個 xml 類型資料行中。如需這些資料行中每個資料行的概觀,請參閱<在 AdventureWorks2008R2 資料庫中的 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>