Оператор множественного обновления условий в SQL Server

Я знаю, как обновить, где это либо / или ситуация. Однако, если мне нужно добавить больше условий к заявлению, я не уверен, что делать дальше.

Желаемая задача - обновить с 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

2 ответа

Решение

Вам нужно только одно заявление случая. Я использовал = против в, так как вы не предоставляете несколько значений.

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';
Другие вопросы по тегам