Parse (moteur de base de données)

Parse convertit la représentation sous forme de chaîne canonique d'un type de données hierarchyid en une valeur hierarchyid. Parse est appelé implicitement lorsqu'une conversion d'un type de chaîne en hierarchyid se produit. Effectue l'action inverse de ToString. Parse() est une méthode statique.

Syntaxe

-- 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 : valeur du type de données character converti.

    CLR : valeur de chaîne évaluée.

Types de retour

**Type de retour SQL Server :**hierarchyid

**Type de retour CLR :**SqlHierarchyId

Notes

Si Parse reçoit une valeur qui n'est pas une représentation de chaîne valide d'un hierarchyid, une exception est levée. Par exemple, si les types de données char contiennent des espaces de fin, une exception est levée.

Exemples

A. Conversion de valeurs Transact-SQL sans table

L'exemple de code suivant utilise ToString pour convertir une valeur hierarchyid en une chaîne et Parse pour convertir une valeur de chaîne en un 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

Voici l'ensemble des résultats.

hierarchyidRepresentation StringRepresentation

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

0x5ADE /1/1/3/

B. Exemple CLR

L'extrait de code suivant appelle la méthode Parse() :

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