Parse (Database Engine)



Parse converts the canonical string representation of a hierarchyid to a hierarchyid value. Parse is called implicitly when a conversion from a string type to hierarchyid occurs. Acts as the opposite of ​​ToString​​. Parse() is a static method.

Syntax

-- 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 )

Arguments input

Transact-SQL: The character data type value that is being converted.

CLR: The String value that is being evaluated.

Return Types

SQL Server return type: hierarchyid

CLR return type: SqlHierarchyId

Remarks

If Parse receives a value that is not a valid string representation of a hierarchyid, an exception is raised. For example, if char data types contain trailing spaces, an exception is raised.

Examples

A. Converting Transact-SQL values without a table


The following code example uses ToString to convert a hierarchyid value to a string, and Parse to convert a string value to a 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


Here is the result set.

hierarchyidRepresentation StringRepresentation

------------------------- -----------------------

0x5ADE /1/1/3/


B. CLR example


The following code snippet calls the Parse() method:


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