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

SQL如何将price_target列的NULL值替换为开盘价上浮10%的计算值

解决方案

场景1:仅查询时替换NULL(不修改原表数据)

你之前的CASE表达式存在两个问题:

  • 未加ELSE price_target逻辑,导致非NULL的目标价会被处理为NULL
  • 未给计算列指定和原字段一致的别名,因此生成了新列

CASE表达式写法

SELECT 
    stock_tickers,
    open,
    CASE 
        WHEN price_target IS NULL THEN open * 1.1
        ELSE price_target 
    END AS price_target
FROM 你的表名;

更简洁的COALESCE函数写法

COALESCE函数会返回参数列表中第一个非NULL值,写法更精简:

SELECT 
    stock_tickers,
    open,
    COALESCE(price_target, open * 1.1) AS price_target
FROM 你的表名;

场景2:直接修改原表的price_target字段值

如果需要永久更新表中的NULL值,可以用UPDATE语句:

UPDATE 你的表名
SET price_target = open * 1.1
WHERE price_target IS NULL;

注意:修改原表数据前建议先执行SELECT * FROM 你的表名 WHERE price_target IS NULL验证待修改的数据范围,避免误操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 23:30:01