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