0

テーブルにアクティブおよび中断された 2 つのビット列がありますアクティブ な列には既に値が含まれていますが、中断された列はまだ nullです

中断されたフィールドにactiveの反対の値を入力するにはどうすればよいですか?

私はこのコードで立ち往生しました..

 Declare @suspended bit;

 --some conditions

 Update Users_mock
 Set Suspended = @Suspended;
4

5 に答える 5

2

簡単なcaseステートメントが機能するはずです。

Update userM
Set suspend = case active when 0 then 1 else 0 end
于 2012-12-19T06:58:56.360 に答える
1

データベースのこのUpdate sql bit フィールドを確認できます。

**SQL Server のビットは常に 1 または 0 としてビットマップに格納されます。**

またはを使用しwhereて列を更新できます。if-elsecase

于 2012-12-19T06:59:11.340 に答える
1

select abs(CONVERT(int,@suspended)-1)

于 2012-12-19T07:00:36.773 に答える
1

これを試して:

update Users_mock
set Suspended = case when active=1 THEN 0
else 1
end
于 2012-12-19T07:03:25.230 に答える
0

してみてください:

Update Users_mock
Set Suspended = 1-Active;
于 2012-12-19T06:59:00.447 に答える