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';
我知道如何更新 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';