首页 > 解决方案 > SQL更新(案例)多个值

问题描述

我需要根据它们的值更新不同的列:

UPDATE tablename

set date1 = case
    when mytime < '01.08.2020' then mytime
end,
set date2 = case
    when mytime < '01.08.2020' then mytime
end

where something = 1;

在我收到错误的第二组块中,列 (date2) 无效。

标签: sql

解决方案


您不需要set多次为多个列

UPDATE tablename set 
    date1 = case when mytime < '01.08.2020' then mytime end, 
    date2 = case when mytime < '01.08.2020' then mytime end
where something = 1;

推荐阅读