Postgres将JSONB列与另一列相乘

时间:2018-11-16 14:46:02

标签: postgresql jsonb postgresql-9.5

这是我的桌子:

CREATE TABLE my_schema.money
(
    amount numeric NOT NULL,
    rate jsonb
);

和示例数据:

INSERT INTO my_schema.money (amount, rate)
VALUES (
    15.7, 
    '{
        "date": "2017-06-25",
        "to":
        {
            "USD": 0.282451842549122,
            "GBP": 0.252381738944908
        },
        "from": "EUR"
    }'
);

我正在尝试在数据库中创建一个视图,其中包含列金额和美元汇率对列汇率的倍数,但是没有成功,有什么想法吗?

例如:15.7 * 0.282451842549122 = 4.4344939280212154.

1 个答案:

答案 0 :(得分:0)

假设您的视图包括原始列:

create view my_schema.view_name_for_usd
as
select *, amount * (rate->'to'->>'USD')::numeric usd_amount 
    from my_schema.money