次の方法で共有


GetLevel (データベース エンジン)

ツリー内でのノード this の深さを表す整数を返します。

構文

-- Transact-SQL syntax
node.GetLevel ( ) 

-- CLR syntax
SqlInt16 GetLevel ( ) 

戻り値の型

SQL Server の戻り値の型 : smallint

CLR の戻り値の型 : SqlInt16

説明

1 つ以上のノードのレベルを確認するとき、または指定したレベルのメンバーにノードを限定するときに使用します。 階層のルートはレベル 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)