Share via


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

Parse は、hierarchyid の正規文字列形式を hierarchyid 値に変換します。文字列型を hierarchyid へ変換するとき暗黙的に呼び出されます。ToString とは逆の動作をします。Parse() は静的メソッドです。

構文

-- Transact-SQL syntax
hierarchyid::Parse ( input )
-- This is functionally equivalent to the following syntax 
-- which implicitly calls Parse():
CAST ( input AS hierarchyid )

-- CLR syntax
static SqlHierarchyId Parse ( SqlString input ) 

引数

  • input
    Transact-SQL : 変換対象となる文字データ型の値。

    CLR : 評価される String 値。

戻り値の型

**SQL Server の戻り値の型 :**hierarchyid

**CLR の戻り値の型 :**SqlHierarchyId

説明

hierarchyid の有効な文字列形式ではない値を Parse が受け取ると、例外が発生します。たとえば、char データ型の末尾に空白が含まれていると例外が発生します。

A. テーブルを使用しない 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/

B. CLR の例

次のコード例では Parse() メソッドを呼び出します。

string input = “/1/2/”;
SqlHierarchyId.Parse(input);