반정형·정형 데이터 함수
반정형·정형 데이터 함수
이 함수들은 다음 타입과 함께 사용됩니다.
- 반정형(semi-structured) 데이터 형식 — JSON, Avro, XML 포함
- 반정형 데이터 타입 — VARIANT, OBJECT, ARRAY 포함
- 정형(structured) 데이터 타입 — 정형 OBJECT, 정형 ARRAY, MAP 포함
본문
이 함수들은 수행하는 연산의 종류에 따라 그룹으로 나뉩니다.
- JSON·XML 데이터 파싱.
- ARRAY·OBJECT 생성 및 조작.
- 반정형·정형 데이터에서 값 추출(예: ARRAY, OBJECT, MAP에서).
- 반정형·정형 데이터 타입을 다른 데이터 타입으로/로부터 변환·캐스팅.
- 반정형 데이터 안 값의 데이터 타입 판별(즉, 타입 술어).
JSON 및 XML 파싱 (JSON and XML Parsing)
- CHECK_JSON
- CHECK_XML
- JSON_EXTRACT_PATH_TEXT
- PARSE_JSON
- PARSE_XML
- STRIP_NULL_VALUE
배열/객체 생성 및 조작 (Array/Object Creation and Manipulation)
- ARRAY_AGG — Aggregate functions (집계 함수)도 참고
- ARRAY_APPEND
- ARRAY_CAT
- ARRAY_COMPACT
- ARRAY_CONSTRUCT
- ARRAY_CONSTRUCT_COMPACT
- ARRAY_CONSTRUCT_STRUCTURED
- ARRAY_CONTAINS
- ARRAY_DISTINCT
- ARRAY_EXCEPT
- ARRAY_FLATTEN
- ARRAY_GENERATE_RANGE
- ARRAY_INSERT
- ARRAY_INTERSECTION
- ARRAY_MAX
- ARRAY_MIN
- ARRAY_POSITION
- ARRAY_PREPEND
- ARRAY_REMOVE
- ARRAY_REMOVE_AT
- ARRAY_REPEAT
- ARRAY_REVERSE
- ARRAY_SIZE
- ARRAY_SLICE
- ARRAY_SORT
- ARRAY_TO_STRING
- ARRAY_UNION_AGG — 집계 함수도 참고
- ARRAY_UNIQUE_AGG — 집계 함수도 참고
- ARRAYS_OVERLAP
- ARRAYS_TO_OBJECT
- ARRAYS_ZIP
- OBJECT_AGG — 집계 함수도 참고
- OBJECT_CONSTRUCT
- OBJECT_CONSTRUCT_KEEP_NULL
- OBJECT_CONSTRUCT_KEEP_NULL_STRUCTURED
- OBJECT_DELETE
- OBJECT_INSERT
- OBJECT_PICK
- PROMPT
고차 함수 (Higher-order)
- FILTER — Snowflake 고차 함수로 데이터에 람다 함수 사용도 참고
- REDUCE — 위 문서도 참고
- TRANSFORM — 위 문서도 참고
맵 생성 및 조작 (Map Creation and Manipulation)
- MAP_CAT
- MAP_CONSTRUCT
- MAP_CONTAINS_KEY
- MAP_DELETE
- MAP_ENTRIES
- MAP_INSERT
- MAP_KEYS
- MAP_PICK
- MAP_SIZE
추출 (Extraction)
- FLATTEN — 테이블 함수
- GET
- GET_IGNORE_CASE
- GET_PATH, : — GET의 변형
- OBJECT_KEYS — OBJECT의 키/값 쌍에서 키를 추출
- XMLGET
변환/캐스팅 (Conversion/Casting)
- AS_<object_type>
- AS_ARRAY
- AS_BINARY
- AS_CHAR, AS_VARCHAR
- AS_DATE
- AS_DECIMAL, AS_NUMBER
- AS_DOUBLE, AS_REAL
- AS_INTEGER
- AS_OBJECT
- AS_TIME
- AS_TIMESTAMP_*
- STRTOK_TO_ARRAY
- TO_ARRAY
- TO_JSON
- TO_OBJECT
- TO_VARIANT
- TO_XML
타입 술어 (Type Predicates)
- IS_<object_type>
- IS_ARRAY
- IS_BOOLEAN
- IS_BINARY
- IS_CHAR, IS_VARCHAR
- IS_DATE, IS_DATE_VALUE
- IS_DECIMAL
- IS_DOUBLE, IS_REAL
- IS_INTEGER
- IS_NULL_VALUE
- IS_OBJECT
- IS_TIME
- IS_TIMESTAMP_*
- TYPEOF