sql2008 hierarychyid parse
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.
-- 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 )
SQL Server return type: hierarchyid
CLR return type: SqlHierarchyId
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.
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);