跳到主要内容

CREATE VIRTUAL COLUMN

Introduced or updated: v1.2.339
企业版功能
VIRTUAL COLUMN是企业版功能。 如需获取许可证,请联系 Databend 支持团队

为表创建 virtual column。请注意,virtual column 专门支持 FUSE Engine,专为与 Variant 数据类型兼容而设计。有关列定义,请参阅 访问 JSON 中的元素

请注意,在为已包含 Variant 数据的表创建 virtual column 之后,需要使用 REFRESH VIRTUAL COLUMN 命令刷新 virtual column。

Syntax

CREATE [ OR REPLACE ] VIRTUAL COLUMN [ IF NOT EXISTS ] ( <virtual_column_1>, <virtual_column_2>, ... ) FOR <table>

Examples

此示例为名为“test”的表创建 virtual column:

-- 创建一个名为“test”的表,其中包含类型为 Variant 的列“id”和“val”。
CREATE TABLE test(id int, val variant);

-- 将示例记录插入到包含 Variant 数据的“test”表中。
INSERT INTO
test
VALUES
(
1,
'{"id":1,"name":"databend","tags":["powerful","fast"],"pricings":[{"type":"Standard","price":"Pay as you go"},{"type":"Enterprise","price":"Custom"}]}'
);

-- 为“val”列中的特定元素创建 virtual column。
CREATE VIRTUAL COLUMN (
val ['name'], -- 提取“name”字段。
val ['tags'] [0], -- 提取“tags”数组中的第一个元素。
val ['pricings'] [0] ['type'] -- 从“pricings”数组中的第一个定价中提取“type”字段。
) FOR test;

REFRESH VIRTUAL COLUMN FOR test;
开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册