1
在PostgreSQL中查询JSONB
我有一个表,persons其中包含两列,一个id和一个基于JSONB的data列(此表仅出于演示目的而制作,可以与PostgreSQL的JSON支持一起使用)。 现在,假设它包含两个记录: 1, { name: 'John', age: 30 } 2, { name: 'Jane', age: 20 } 现在,假设我想获得每个25岁以上的人的名字。我尝试过的是: select data->'name' as name from persons where data->'age' > 25 不幸的是,这会导致错误。我可以使用->>代替来解决它->,但是比较不会再按预期进行,因为不是比较数字,而是将它们表示为字符串: select data->'name' as name from persons where data->>'age' > '25' 然后,我发现实际上可以使用->和强制转换为解决此问题int: select data->'name' as name from persons where cast(data->'age' as int) > …