GetLevel(数据库引擎)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

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

语法

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