Postgresq l 数据库查询格式为jsonp的列,怎么查询其值属性 | ->> 操作符

发布时间 2023-09-11 16:24:32作者: 槑孒

要查询 PostgreSQL 数据库表中的 JSONP 列(假设列名为 props)中是否包含特定条件的记录,可以使用 JSONB 函数和操作符进行查询。JSONP 列通常存储为 JSONB 类型。

假设表结构如下:

CREATE TABLE your_table (
    id serial PRIMARY KEY,
    props jsonb
);

在这个表中,props 列存储了 JSONP 数据。要查询 props 列中是否包含 FIDN = 666 的记录,你可以使用以下 SQL 查询:

SELECT *
FROM your_table
WHERE props->>'FIDN' = '666';

上面的查询使用了 ->> 操作符来提取 JSONP 列中键为 FIDN 的值,并将其与 666 进行比较。如果匹配,查询将返回包含该条件的记录。

请确保你的表中的 props 列是以 JSONB 类型存储的,以便能够执行这样的 JSON 查询。如果存储的是 JSON 类型而不是 JSONB 类型,你可能需要将数据转换为 JSONB 类型或者使用相应的 JSON 函数进行查询,JSONB 格式通常更适合在查询中进行性能优化。如果需要频繁地进行 JSON 数据的查询和操作,并且需要更高的性能,考虑将列类型更改为 JSONB,并使用 JSONB 函数和操作符进行操作。。