You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL JSONB列查询JSON对象:WHERE子句错误修正及实现

PostgreSQL JSONB列查询问题解决

问题分析

你的WHERE子句错误在于连续使用->>操作符:myData ->> 'processedResult' ->> 'store'。->>会将JSON对象转为文本字符串,第一个->> 'processedResult'得到的是字符串形式的JSON而非JSON对象,后续再用->> 'store'无法正确提取字段值,导致条件不匹配。

正确SQL语句

SELECT DISTINCT myData -> 'processedResult' -> 'orderPayment' ->> 'paymentType' 
FROM mytable
WHERE myData -> 'processedResult' ->> 'store' = 'US'

关键操作符说明

  • ->:提取JSONB对象/数组,返回结果仍为JSONB类型
  • ->>:提取JSONB字段的文本值,返回结果为不带引号的字符串

修改后,WHERE子句能正确匹配store为US的记录,SELECT部分会返回纯文本格式的支付类型(如VISA、Mastercard)。

内容的提问来源于stack exchange,提问作者Ilyas Patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 11:01:57