- 카테고리:
반정형 및 정형 데이터 함수 (배열/오브젝트)
OBJECT_KEYS¶
입력 오브젝트의 최상위 수준에 있는 키 목록을 포함하는 배열을 반환합니다.
구문¶
OBJECT_KEYS( <object> )
인자¶
반환¶
이 함수는 키가 포함된 ARRAY 를 반환합니다.
object
가 정형 OBJECT 인 경우 함수는 ARRAY(VARCHAR)를 반환합니다.
사용법 노트¶
이 오브젝트가 중첩된 오브젝트(예: 오브젝트 내의 오브젝트)를 포함하는 경우에는 최상위 수준의 키만 반환합니다.
예¶
기본 예¶
다음 예는 OBJECT 형식의 값을 포함하는 OBJECT 및 VARIANT 모두와 함께 작동하는 OBJECT_KEYS를 보여줍니다.
OBJECT 및 VARIANT 형식의 열이 포함된 테이블을 만듭니다.
CREATE TABLE objects_1 (id INTEGER, object1 OBJECT, variant1 VARIANT);INSERT로 값을 삽입합니다.
INSERT INTO objects_1 (id, object1, variant1) SELECT 1, OBJECT_CONSTRUCT('a', 1, 'b', 2, 'c', 3), TO_VARIANT(OBJECT_CONSTRUCT('a', 1, 'b', 2, 'c', 3)) ;OBJECT와 VARIANT 모두에서 키를 검색합니다.
SELECT OBJECT_KEYS(object1), OBJECT_KEYS(variant1) FROM objects_1 ORDER BY id; +----------------------+-----------------------+ | OBJECT_KEYS(OBJECT1) | OBJECT_KEYS(VARIANT1) | |----------------------+-----------------------| | [ | [ | | "a", | "a", | | "b", | "b", | | "c" | "c" | | ] | ] | +----------------------+-----------------------+
중첩된 오브젝트의 예¶
이 예에서는 오브젝트에 중첩된 오브젝트가 포함된 경우 최상위 수준의 키만 반환됨을 보여줍니다.
SELECT OBJECT_KEYS ( PARSE_JSON ( '{ "level_1_A": { "level_2": "two" }, "level_1_B": "one" }' ) ) AS keys ORDER BY 1; +----------------+ | KEYS | |----------------| | [ | | "level_1_A", | | "level_1_B" | | ] | +----------------+