【问题标题】: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 字段的表达式以确保输出是有效整数。此外,您应该将“表”替换为您要查询的表的实际名称。