Share via


GetLevel (Database Engine)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體

傳回代表樹狀結構中 this 節點深度的整數。

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)