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

如何用SQL通过OR语句从两列取值填充Custom Column自定义列

SQL实现方案

首先假设你使用的表名为data_table,你可以通过以下两种方式实现需求,均符合OR逻辑判断规则:

1. 仅查询返回填充后的结果(不修改原表)

SELECT 
    ID,
    CASE
        -- 核心OR逻辑判断两个字段至少有一个非空
        WHEN Value IS NOT NULL OR Value2 IS NOT NULL
        THEN IF(Value IS NOT NULL, Value, Value2)
        ELSE NULL
    END AS `Custom column`,
    Value,
    Value2
FROM data_table;

2. 直接更新原表的Custom column字段

UPDATE data_table
SET `Custom column` = CASE
    WHEN Value IS NOT NULL OR Value2 IS NOT NULL
    THEN CASE WHEN Value IS NOT NULL THEN Value ELSE Value2 END
    ELSE NULL
END;

注意事项

  • 以上是标准SQL写法,兼容所有主流数据库。如果你的数据库支持COALESCE函数,可以简化为COALESCE(Value, Value2),本质逻辑和上面的OR判断完全一致,都是取第一个非空值。
  • 字段名包含空格时需要对应转义:MySQL用反引号包裹,SQL Server用方括号,Oracle用双引号。
  • 执行UPDATE操作前建议先运行SELECT语句验证结果,避免误操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:48:03