适用于:Sql Server
Azure SQL 数据库
Azure SQL 托管实例
fabric Microsoft 中的 SQL 数据库
返回一个表示节点 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 数据类型方法引用
层次结构数据 (SQL Server)
hierarchyid (Transact-SQL)