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

PostgreSQL脚本实现:根据列空值情况跨列复制数据咨询

完全可行!用PostgreSQL的COALESCE()函数轻松实现

当然没问题,这是数据库里非常典型的“兜底赋值”场景,PostgreSQL提供的COALESCE()函数正好完美匹配你的需求——它会依次检查传入的参数,返回第一个非空的值。

具体实现脚本

你只需要一行UPDATE语句就能完成:

UPDATE your_table_name
SET column_a = COALESCE(column_a, column_b, column_c);

逻辑解释

  • 如果column_a本身不为空,COALESCE()会直接返回它的值,column_a保持不变;
  • 如果column_a为空,就会取column_b的值来填充;
  • 如果column_b也为空,就会用column_c的值来覆盖column_a;
  • 要是三个列都为空,column_a还是会保持为空(这应该也符合你的预期)。

安全提示

如果担心直接更新会出问题,可以先执行查询预览结果,确认没问题再执行更新操作:

SELECT 
    column_a, 
    column_b, 
    column_c, 
    COALESCE(column_a, column_b, column_c) AS expected_new_column_a
FROM your_table_name;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 19:49:04