GetLevel(数据库引擎)

返回一个表示节点 this 在树中的深度的整数。

语法

-- Transact-SQL syntax
node.GetLevel ( ) 

-- CLR syntax
SqlInt16 GetLevel ( ) 

返回类型

**SQL Server 返回类型:**smallint

**CLR 返回类型:**SqlInt16

注释

用于确定一个或多个节点的级别或者筛选指定级别的成员的节点。层次结构的根节点为级别 0。

GetLevel 对于广度优先搜索索引非常有用。有关详细信息,请参阅使用 hierarchyid 数据类型(数据库引擎)

示例

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