다음을 통해 공유


컨텍스트 함수 - 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>  

참고 항목

xml 데이터 형식에 대한 XQuery 함수