【问题标题】:Data type change in Metabase元数据库中的数据类型更改
【发布时间】:2023-02-09 22:22:24
【问题描述】:

我正在尝试更改我在 Metabase 中使用 SQL 创建的列的数据类型。

我用这段代码来拆分 json 列

select *,
       substring(key from '_([^_]+)$') as Volume,
       substring(outgoing::varchar from ':"([a-z]*)' ) as Status
from table
cross join lateral json_object_keys(outgoing) as j(key);

拆分后,我意识到 volume 字段具有文本类型。

我正在尝试将其更改为整数。

【问题讨论】:

    标签: sql postgresql metabase


    【解决方案1】:

    在 Metabase 中,您可以使用 CAST 或 :: 运算符更改查询中字段的类型。例如,如果要将 Volume 字段的类型更改为整数,则可以使用以下查询:

    SELECT *,
       CAST(substring(key from '_([^_]+)$') AS INTEGER) as Volume,
       substring(outgoing::varchar from ':"([a-z]*)' ) as Status
    FROM table
    CROSS JOIN LATERAL json_object_keys(outgoing) AS j(key);
    

    请注意,您可能需要修改 Volume 字段的表达式以确保输出是有效整数。此外,您应该将“表”替换为您要查询的表的实际名称。

    【讨论】:

      最近更新 更多