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

PostgreSQL中如何查询info表JSON字段data内nickname匹配值?

PostgreSQL JSON类型字段查询实现

针对你提到的info表中JSON类型字段data的查询需求,正确的SQL写法有两种常用方式:

方式一:使用->>操作符(推荐)

->>操作符会将JSON字段内指定属性的值转换为文本类型,直接用于字符串比较:

SELECT * FROM info WHERE data->>'nickname' = 'SomeNickname';

方式二:使用json_extract_path_text函数

这是操作符的等价函数写法,逻辑完全一致:

SELECT * FROM info WHERE json_extract_path_text(data, 'nickname') = 'SomeNickname';

额外说明(可选优化)

如果你的data字段是JSONB类型(PostgreSQL推荐的二进制JSON类型),可以通过创建GIN索引提升查询效率,查询语句也可以写成:

-- 先创建索引
CREATE INDEX idx_info_data_nickname ON info USING GIN (data jsonb_path_ops);
-- 高效查询
SELECT * FROM info WHERE data @> '{"nickname": "SomeNickname"}'::jsonb;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 17:42:11