- 카테고리:
반정형 및 정형 데이터 함수 (추출)
GET_PATH , :
¶
경로 이름을 사용하여 반정형 데이터에서 값을 추출합니다.
GET_PATH는 GET 의 변형입니다. 첫 번째 인자로서 VARIANT, OBJECT 또는 ARRAY 열 이름을 사용하고, 두 번째 인자로서 제공된 경로 이름에 따라 필드 또는 요소의 값을 추출합니다.
구문¶
GET_PATH( <column_identifier> , '<path_name>' )
<column_identifier>:<path_name>
:( <column_identifier> , '<path_name>' )
인자¶
반환¶
반환된 값은 ARRAY의 지정된 요소 또는 OBJECT의 키-값 페어에 지정된 키에 해당하는 값입니다.
입력 오브젝트가 반정형 OBJECT, ARRAY 또는 VARIANT인 경우 함수는 VARIANT를 반환합니다. 데이터 타입은 VARIANT입니다. 왜냐하면,
ARRAY에서 각 요소가 VARIANT 타입입니다.
OBJECT에서 각 키-값 페어의 값이 VARIANT 타입니다.
입력 오브젝트가 정형 OBJECT, 정형 ARRAY 또는 MAP 인 경우 함수는 오브젝트에 대해 지정된 유형의 값을 반환합니다.
예를 들어 입력 오브젝트의 유형이 ARRAY(NUMBER)인 경우 함수는 NUMBER를 반환합니다.
사용법 노트¶
GET_PATH는 GET 함수 체인과 동등합니다. 경로 이름이 어떤 요소에도 해당하지 않는 경우, NULL을 반환합니다.
경로 이름 구문은 표준 JavaScript 표기법입니다. 마침표(예:
.
)와 인덱스 연산자(예:[<인덱스>]
)가 앞에 오는 필드 이름(식별자)의 연결로 구성됩니다.첫 번째 필드 이름에는 선행 마침표를 지정할 필요가 없습니다.
인덱스 연산자의 인덱스 값은 음수가 아닌 10진수(배열의 경우)이거나, 작은따옴표 또는 큰따옴표로 묶인 문자열 리터럴(오브젝트 필드의 경우)일 수 있습니다.
자세한 내용은 반정형 데이터 쿼리하기 섹션을 참조하십시오.
또한, GET_PATH는 경로 지정자에서 열 이름(마침표를 포함할 수 있음)을 분리하는 추출 연산자로서
:
문자를 사용하는 구문 바로 가기를 지원합니다.구문 일관성을 유지하기 위해 경로 표기법은 SQL 스타일의 큰따옴표로 묶인 식별자도 지원하며 경로 구분자로서의
:
사용도 지원합니다.:
연산자를 사용하는 경우, 모든 정수 또는 문자열 하위 식을[]
내에 포함할 수 있습니다.
예¶
vartab
테이블에서 필드 name
을 추출합니다.
SELECT GET_PATH(v, 'attr[0].name') FROM vartab;
이것은 첫 번째 예와 동일하지만, :
를 추출 연산자로 사용합니다.
SELECT v:attr[0].name FROM vartab;추출 연산자
:
는 왼쪽 결합형입니다. 위의 예에서v:attr[0]:name
을 사용하는 것은 왼쪽:
와 같은 효과가 있으며, 오른쪽 추출 연산자:
가name
필드 값을 추출하는 베리언트 값(오브젝트 포함)을 생성합니다.
이는 첫 번째 예와 동일하지만, SQL 스타일의 큰따옴표로 묶인 식별자와 :
를 경로 구분 기호로 사용합니다.
SELECT GET_PATH('v:"attr"[0]:"name"') FROM vartab;