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

如何在SQL中根据列值条件替换TEST表A列的值?

解决方案

针对你的需求,有两种常用的SQL实现方式,都能满足替换A列值的要求:

方法一:CASE语句(逻辑直观,适合新手理解)

如果只是查询替换后的结果,不需要修改原表:

SELECT 
    ID,
    CASE 
        WHEN B IS NOT NULL THEN B
        ELSE C
    END AS A
FROM TEST;

如果需要直接更新原表中的A列:

UPDATE TEST
SET A = CASE 
            WHEN B IS NOT NULL THEN B
            ELSE C
        END;

方法二:COALESCE函数(写法简洁,适配需求场景)

COALESCE函数会返回传入参数中第一个非NULL的值,刚好匹配你的需求:

查询替换结果:

SELECT 
    ID,
    COALESCE(B, C) AS A
FROM TEST;

更新原表A列:

UPDATE TEST
SET A = COALESCE(B, C);

说明:两种方法在主流SQL数据库(如MySQL、SQL Server、PostgreSQL等)中都能正常使用,根据你的习惯选择即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 03:47:36