Union 함수
Union 함수 (Union Functions)
DuckDB는 SQL의 UNION 타입을 다루는 몇 가지 함수를 제공해요. union_value로 단일 멤버 UNION을 만들고, union_extract나 점 표기법(도트 표기)으로 값을 꺼내고, union_tag로 현재 선택된 태그를 확인할 수 있어요.
출처: 문서
본문
| 이름 | 설명 |
|---|---|
union.tag |
점 표기법이 union_extract의 별칭 역할을 해요. |
union_extract(union, 'tag') |
이름이 지정된 태그로 union에서 값을 추출해요. 태그가 현재 선택되지 않았으면 NULL. |
union_value(tag := any) |
인자 값을 담은 단일 멤버 UNION을 만들어요. 값의 태그는 바인딩된 변수 이름이 돼요. |
union_tag(union) |
union의 현재 선택된 태그를 Enum으로 돌려줘요. |
union.tag
| 설명 | 점 표기법이 union_extract의 별칭 역할을 해요. |
| 예시 | (union_value(k := 'hello')).k |
| 결과 | string |
union_extract(union, 'tag')
| 설명 | 이름이 지정된 태그로 union에서 값을 추출해요. 태그가 현재 선택되지 않았으면 NULL. |
| 예시 | union_extract(s, 'k') |
| 결과 | hello |
union_value(tag := any)
| 설명 | 인자 값을 담은 단일 멤버 UNION을 만들어요. 값의 태그는 바인딩된 변수 이름이 돼요. |
| 예시 | union_value(k := 'hello') |
| 결과 | 'hello'::UNION(k VARCHAR) |
union_tag(union)
| 설명 | union의 현재 선택된 태그를 Enum으로 돌려줘요. |
| 예시 | union_tag(union_value(k := 'foo')) |
| 결과 | 'k' |