GetLevel (Database Engine)

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

適用於:SQL Server (SQL Server 2008 透過目前版本)、Windows Azure SQL 資料庫 (初始版本,透過目前版本)。

語法

-- Transact-SQL syntax
node.GetLevel ( ) 

-- CLR syntax
SqlInt16 GetLevel ( ) 

傳回類型

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 (Transact-SQL)

概念

Hierarchyid 資料類型方法參考

階層式資料 (SQL Server)