Оператор множественного обновления условий в 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';