SQL Server中的多个条件更新语句

时间:2017-09-13 18:04:39

标签: sql sql-server set concat

我知道如何更新它或两者的情况。但是,如果我需要在语句中添加更多条件,我不知道如何继续。

所需的任务是更新1到10,2到20,3到30,5到50和0到00.会是这样的:

null

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

期望的结果

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

2 个答案:

答案 0 :(得分:5)

您只需要一个案例陈述。因为你没有提供多个值,所以我使用了= vs。

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

答案 1 :(得分:3)

如果您的问题只是添加'0'

试一试:

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