Union 函数
| 名称 | 说明 |
|---|---|
union.tag | 点语法可作为 union_extract 的别名。 |
union_extract(union, 'tag') | 从 union 中提取指定 tag 的值。若当前选中的不是该 tag,则返回 NULL。 |
union_value(tag := any) | 创建一个仅包含参数值的单成员 UNION。该值的 tag 为绑定变量名。 |
union_tag(union) | 以 Enum 形式获取 union 当前选中的 tag。 |
union.tag
| 说明 | 点语法可作为 union_extract 的别名。 |
| 示例 | (union_value(k := 'hello')).k |
| 结果 | string |
union_extract(union, 'tag')
| 说明 | 从 union 中提取指定 tag 的值。若当前选中的不是该 tag,则返回 NULL。 |
| 示例 | union_extract(s, 'k') |
| 结果 | hello |
union_value(tag := any)
| 说明 | 创建一个仅包含参数值的单成员 UNION。该值的 tag 为绑定变量名。 |
| 示例 | union_value(k := 'hello') |
| 结果 | 'hello'::UNION(k VARCHAR) |
union_tag(union)
| 说明 | 以 Enum 形式获取 union 当前选中的 tag。 |
| 示例 | union_tag(union_value(k := 'foo')) |
| 结果 | 'k' |