用于更新具有条件的行的循环

时间:2012-12-19 06:50:09

标签: sql loops

我在表活动暂停中有2位列 活动列已包含值,但已挂起列仍为空

如何使用与活动相反的值填充已暂停的字段?

我被困在这段代码中..

 Declare @suspended bit;

 --some conditions

 Update Users_mock
 Set Suspended = @Suspended;

5 个答案:

答案 0 :(得分:2)

简单的case语句应该有效:

Update userM
Set suspend = case active when 0 then 1 else 0 end

答案 1 :(得分:1)

您可以查看此Update sql bit field in database

它说,** SQL Server中的位总是在位图中存储为1或0。 **

您可以使用whereif-elsecase来更新列。

答案 2 :(得分:1)

选择abs(CONVERT(int,@ suspended)-1)

答案 3 :(得分:1)

试试这个:

update Users_mock
set Suspended = case when active=1 THEN 0
else 1
end

答案 4 :(得分:0)

请尝试:

Update Users_mock
Set Suspended = 1-Active;