GetLevel(데이터베이스 엔진)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

트리에 있는 노드 의 깊이를 나타내는 정수 값을 반환합니다.

Syntax

-- Transact-SQL syntax  
node.GetLevel ( )   
-- CLR syntax  
SqlInt16 GetLevel ( )   

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

반환 형식

SQL Server 반환 형식:smallint

CLR 반환 형식:SqlInt16

설명

하나 이상의 노드 수준을 확인하거나 지정된 수준의 멤버로 노드를 필터링하는 데 사용됩니다. 계층의 루트는 수준 0입니다.

GetLevel은 폭 우선 검색 인덱스에 유용합니다. 자세한 내용은 계층적 데이터(SQL Server)를 참조하세요.

예제

A. 계층 수준을 열로 반환

다음 예제에서는 hierarchyid의 텍스트 표현을 반환한 다음 계층 수준을 테이블의 모든 행에 대한 EmpLevel 열로 반환합니다.

SELECT OrgNode.ToString() AS Text_OrgNode,   
OrgNode.GetLevel() AS EmpLevel, *  
FROM HumanResources.EmployeeDemo;  

B. 계층 수준의 모든 멤버 반환

다음 예제에서는 계층 수준 2에서 테이블의 모든 행을 반환합니다.

SELECT OrgNode.ToString() AS Text_OrgNode,   
OrgNode.GetLevel() AS EmpLevel, *  
FROM HumanResources.EmployeeDemo  
WHERE OrgNode.GetLevel() = 2;  

C. 계층의 루트 반환

다음 예제에서는 계층 수준의 루트를 반환합니다.

SELECT OrgNode.ToString() AS Text_OrgNode,   
OrgNode.GetLevel() AS EmpLevel, *  
FROM HumanResources.EmployeeDemo  
WHERE OrgNode.GetLevel() = 0;  

D. CLR 예제

다음 코드 조각은 GetLevel() 메서드를 호출합니다.

this.GetLevel()  

참고 항목

hierarchyid 데이터 형식 메서드 참조
계층적 데이터(SQL Server)
hierarchyid(Transact-SQL)