SQL 服务器中的多个条件更新语句

Multiple condition update statement in SQL Server

我知道如何更新 either/or 情况。但是,如果我需要在声明中添加更多条件,我不确定如何进行。

期望的任务是更新 1 到 10、2 到 20、3 到 30、5 到 50 和 0 到 00。会不会是这样的:

update table 
set own = (case 
              when own in '1' then '10, 
           case 
              when own in'2' then '20'.....else '00' 
           end);

或者最好将其分解为五个单独的更新语句,分别处理 1、2、3、5 和 0?

期望的结果

own     own
 1      10
 2      20
 3      30
 5      50
 0      00

您只需要一个 case 语句。我使用 = 与 in 因为您没有提供多个值。

update table 
set own=case 
            when own = '1' then '10'
            when own = '2' then '20'
            when own = '3' then '30'
            ....
            else '00' 
        End

如果您的问题只是添加一个“0”

试一试:

update table set own = RTRIM(LTRIM(own)) + '0';