구문 분석(데이터베이스 엔진)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

구문 분석에서는 hierarchyid정식 문자열 표현을 hierarchyid 값으로 변환합니다. 구문 분석은 문자열 형식에서 hierarchyid의 변환이 발생할 때 암시적으로 호출됩니다. ToString과 반대로 작동합니다. Parse()는 정적 메서드입니다.

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 )   

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

인수

input
Transact-SQL: 변환되는 문자 데이터 형식 값입니다.

CLR: 평가 중인 문자열 값입니다.

반환 형식

SQL Server 반환 형식: hierarchyid

CLR 반환 형식:SqlHierarchyId

설명

Parse가 hierarchyid유효한 문자열 표현이 아닌 값을 받으면 예외가 발생합니다. 예를 들어 char 데이터 형식에 후행 공백이 포함된 경우 예외가 발생합니다.

예제

A. 테이블 없이 Transact-SQL 값 변환

다음 코드 예제에서는 hierarchyid 값을 문자열로 변환하고 Parse 문자열 값을 hierarchyid변환하는 데 사용합니다ToString.

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  

결과 집합은 다음과 같습니다.

hierarchyidRepresentation    StringRepresentation
-------------------------    -----------------------
0x5ADE                       /1/1/3/

B. CLR 예제

다음 코드 조각에서는 Parse() 메서드를 호출합니다.

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

참고 항목

hierarchyid 데이터 형식 메서드 참조
계층적 데이터(SQL Server)
hierarchyid(Transact-SQL)