GetLevel(数据库引擎)

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

语法

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