GetLevel (Database Engine)
Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance
Returns an integer that represents the depth of the node this in the tree.
Syntax
-- Transact-SQL syntax
node.GetLevel ( )
-- CLR syntax
SqlInt16 GetLevel ( )
Return Types
SQL Server return type:smallint
CLR return type:SqlInt16
Remarks
Used to determine the level of one or more nodes or to filter the nodes to members of a specified level. The root of the hierarchy is level 0.
GetLevel is useful for breadth-first search indexes. For more information, see Hierarchical Data (SQL Server).
Examples
A. Returning the hierarchy level as a column
The following example returns a text representation of the hierarchyid, and then the hierarchy level as the EmpLevel column for all rows in the table:
SELECT OrgNode.ToString() AS Text_OrgNode,
OrgNode.GetLevel() AS EmpLevel, *
FROM HumanResources.EmployeeDemo;
B. Returning all members of a hierarchy level
The following example returns all rows in the table at the hierarchy level 2:
SELECT OrgNode.ToString() AS Text_OrgNode,
OrgNode.GetLevel() AS EmpLevel, *
FROM HumanResources.EmployeeDemo
WHERE OrgNode.GetLevel() = 2;
C. Returning the root of the hierarchy
The following example returns the root of the hierarchy level:
SELECT OrgNode.ToString() AS Text_OrgNode,
OrgNode.GetLevel() AS EmpLevel, *
FROM HumanResources.EmployeeDemo
WHERE OrgNode.GetLevel() = 0;
D. CLR example
The following code snippet calls the GetLevel() method:
this.GetLevel()
See also
hierarchyid Data Type Method Reference
Hierarchical Data (SQL Server)
hierarchyid (Transact-SQL)