sql2008 hierarychyid parse

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 ToStringParse() 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 ) 
input

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

CLR: The String value that is being evaluated.

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

你可能感兴趣的:(parse)