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

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

this の論理的表現に基づく文字列を返します ToString から変換するとき暗黙的に呼び出されます hierarchyid を文字列型が発生します。 Parse (データベース エンジン) とは逆の動作を行います。

構文

-- Transact-SQL syntax
node.ToString  ( )
-- This is functionally equivalent to the following syntax  
-- which implicitly calls ToString():  
CAST(node AS nvarchar(4000))  
-- CLR syntax
string ToString  ( )

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

戻り値の型

SQL Server の戻り値の型 :nvarchar(4000)

CLR の戻り値の型: String

解説

階層内での論理的な位置を返します。 たとえば、/2/1/ は、ファイル システムの次の階層構造における 4 行目 (Microsoft SQL Server) を表します。

/        C:\  
/1/      C:\Database Files  
/2/      C:\Program Files  
/2/1/    C:\Program Files\Microsoft SQL Server  
/2/2/    C:\Program Files\Microsoft Visual Studio  
/3/      C:\Windows  

A. テーブルでの Transact-SQL の例

次の例では、OrgNode 列が、hierarchyid データ型の読み取り可能な文字列形式で返されます。

SELECT OrgNode,  
OrgNode.ToString() AS Node  
FROM HumanResources.EmployeeDemo  
ORDER BY OrgNode ;  
GO  

結果セットは次のようになります。

OrgNode   Node  
0x        /  
0x58      /1/  
0x5AC0    /1/1/  
0x5B40    /1/2/  
0x5BC0    /1/3/  
0x5C20    /1/4/  
...  

B. テーブルを使用しない Transact-SQL 値の変換

次のコード例では、ToString を使用して hierarchyid 値を文字列に変換し、Parse を使用して文字列値を hierarchyid に変換します。

DECLARE @StringValue AS nvarchar(4000), @hierarchyidValue AS hierarchyid  
SET @StringValue = '/1/1/3/'  
SET @hierarchyidValue = 0x5ADE  
  
SELECT hierarchyid::Parse(@StringValue) AS hierarchyidRepresentation,  
@hierarchyidValue.ToString() AS StringRepresentation ;
GO  

結果セットは次のようになります。

hierarchyidRepresentation    StringRepresentation
-------------------------    -----------------------
0x5ADE                       /1/1/3/

C. CLR の例

次のコード スニペットの呼び出し、 ToString() メソッド。

this.ToString()  

参照

hierarchyid データ型メソッド リファレンス
階層データ (SQL Server)
hierarchyid (Transact-SQL)