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

单SQL语句更新表数据:调整指定周期value及历史记录change_date

单条SQL实现多条件更新解决方案

现有数据表数据

id    from_date      to_date   value  change_date
10    jan-2021      dec 2021    100    dec-2021
10    jan-2022      dec 2022    100    dec-2022
10    jan-2023      dec 2023    100    dec-2023

更新需求

  • 将from_date为jan-2023的记录,value字段从100更新为200
  • 将from_date为jan-2021的记录,change_date从dec-2021改为nov-2021;from_date为jan-2022的记录,change_date从dec-2022改为nov-2022

单条UPDATE语句实现

UPDATE your_table_name
SET 
    value = CASE WHEN from_date = 'jan-2023' THEN 200 ELSE value END,
    change_date = CASE 
        WHEN from_date = 'jan-2021' THEN 'nov-2021'
        WHEN from_date = 'jan-2022' THEN 'nov-2022'
        ELSE change_date END
WHERE 
    from_date IN ('jan-2021', 'jan-2022', 'jan-2023');

语句说明

  1. 用CASE WHEN分支判断,针对不同from_date的记录分别更新对应字段
  2. ELSE 原字段值确保不符合条件的记录不会被误修改
  3. WHERE子句限定更新范围,避免全表扫描,提升执行效率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 00:49:50