컨텍스트 함수 - last(XQuery)
적용 대상:SQL Server
현재 처리 중인 시퀀스의 항목 수를 반환합니다. 특히 시퀀스에서 마지막 항목의 정수 인덱스를 반환합니다. 시퀀스의 첫 번째 항목에는 인덱스 값이 1입니다.
구문
fn:last() as xs:integer
설명
SQL Server 에서 fn:last() 는 컨텍스트 종속 조건자의 컨텍스트에서만 사용할 수 있습니다. 특히 대괄호([ ]
)에서만 사용할 수 있습니다.
예
이 항목에서는 AdventureWorks 데이터베이스의 다양한 xml 형식 열에 저장된 XML 인스턴스에 대한 XQuery 예제를 제공합니다.
A. last() XQuery 함수를 사용하여 마지막 두 제조 단계 검색
다음 쿼리는 특정 제품 모델에 대한 마지막 두 제조 단계를 검색합니다. 마지막() 함수에서 반환된 제조 단계의 수인 값은 이 쿼리에서 마지막 두 제조 단계를 검색하는 데 사용됩니다.
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
앞의 쿼리에서 /의 last() 함수/AWMI:root//AWMI:Location)[1]/AWMI:step[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>