GET (Semi-Structured, Lakehouse v1)
ARRAY를 포함하는 Variant에서는 index로, OBJECT를 포함하는 Variant에서는 field_name으로 값을 추출합니다.
값은 Variant로 반환되며, 인수 중 하나라도 NULL이면 NULL이 반환됩니다.
GET은 field_name에 대소문자를 구분하는 일치를 적용합니다. 대소문자를 구분하지 않고 일치시키려면 GET_IGNORE_CASE를 사용하십시오.
Analyze Syntax
섹션 제목: “Analyze Syntax”func.get(<variant>, <index>)
or
func.get(<variant>, <field_name>)Analyze Examples
섹션 제목: “Analyze Examples”func.get(func.parse_json('[2.71, 3.14]'), 0);┌──────────────────────────────────────────────┐│ func.get(func.parse_json('[2.71, 3.14]'), 0) │├──────────────────────────────────────────────┤│ 2.71 │└──────────────────────────────────────────────┘
func.get(func.parse_json('{"aa":1, "aA":2, "Aa":3}'), 'aa');┌─────────────────────────────────────────────────────────────┐│ func.get(func.parse_json('{"aa":1, "aA":2, "Aa":3}'), 'aa') │├─────────────────────────────────────────────────────────────┤│ 1 │└─────────────────────────────────────────────────────────────┘SQL Syntax
섹션 제목: “SQL Syntax”GET( <variant>, <index> )
GET( <variant>, <field_name> )| 인수 | 설명 |
|---|---|
<variant> |
ARRAY 또는 OBJECT를 포함하는 VARIANT 값 |
<index> |
ARRAY에서 값의 위치를 지정하는 Uint32 값 |
<field_name> |
OBJECT의 키-값 쌍에서 키를 지정하는 문자열 값 |
반환 타입
섹션 제목: “반환 타입”VARIANT
SQL Examples
섹션 제목: “SQL Examples”SELECT get(parse_json('[2.71, 3.14]'), 0);┌────────────────────────────────────┐│ get(parse_json('[2.71, 3.14]'), 0) │├────────────────────────────────────┤│ 2.71 │└────────────────────────────────────┘
SELECT get(parse_json('{"aa":1, "aA":2, "Aa":3}'), 'aa');┌───────────────────────────────────────────────────┐│ get(parse_json('{"aa":1, "aA":2, "Aa":3}'), 'aa') │├───────────────────────────────────────────────────┤│ 1 │└───────────────────────────────────────────────────┘
SELECT get(parse_json('{"aa":1, "aA":2, "Aa":3}'), 'AA');┌───────────────────────────────────────────────────┐│ get(parse_json('{"aa":1, "aA":2, "Aa":3}'), 'AA') │├───────────────────────────────────────────────────┤│ NULL │└───────────────────────────────────────────────────┘