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

Postgres构建JSON对象时如何排除Null值?无需复杂函数实现

在PostgreSQL中构建仅含非Null值的JSON对象(无需复杂函数)

可以直接使用PostgreSQL内置的jsonb_strip_nulls函数实现需求,完全不需要编写自定义函数。

这个函数的作用是移除JSONB对象中所有值为null的键值对,正好匹配你的场景。修改后的SQL语句如下:

SELECT 
  id,
  jsonb_strip_nulls(
    jsonb_build_object(
      'price', price,
      'item_returned_date', item_returned_date
    )
  ) AS data
FROM your_table;

效果说明

  • 当item_returned_date为null时,jsonb_strip_nulls会自动剔除这个键值对,最终data字段仅保留{"price": 50};
  • 当item_returned_date有非空值时,两个键值对都会被保留,生成{"price": 100, "item_returned_date": "2022-10-01"}。

这个方法简洁高效,完全依赖PostgreSQL原生功能,不需要额外的复杂逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 05:40:22