Parse (motor de base de datos)
Parse convierte la representación de cadena canónica de un tipo de datos hierarchyid en un valor hierarchyid. Se llama implícitamente a Parse cuando se produce una conversión de un tipo de cadena a hierarchyid. Tiene el efecto contrario de ToString. Parse() es un método estático.
Sintaxis
-- 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 )
Argumentos
input
Transact-SQL: Valor de tipo de datos de carácter que se va a convertir.CLR: Valor de cadena que se va a evaluar.
Tipos de valores devueltos
**Tipo de valor devuelto de SQL Server:**hierarchyid
**Tipo de valor devuelto de CLR:**SqlHierarchyId
Notas
Si Parse recibe un valor que no es una representación de cadena válida de un tipo de datos hierarchyid, se producirá una excepción. Por ejemplo, si los tipos de datos char contienen espacios finales, se producirá una excepción.
Ejemplos
A. Convertir valores de Transact-SQL sin una tabla
En el siguiente ejemplo de código se usa ToString para convertir un valor hierarchyid en una cadena, y Parse para convertir un valor de cadena en un valor 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
Éste es el conjunto de resultados.
hierarchyidRepresentation StringRepresentation
------------------------- -----------------------
0x5ADE /1/1/3/
B. Ejemplo de CLR
En el fragmento de código siguiente se llama al método Parse():
string input = “/1/2/”;
SqlHierarchyId.Parse(input);