次のようなテーブルTable1
があります
col1 col2
---- ----
A 1
B 1
C 1
D 0
E 0
F 0
結果テーブルを次のようにしたい(Update
ステートメントを使用して)
col1 col2
---- ----
A 0
B 0
C 0
D 1
E 1
F 1
次のようなテーブルTable1
があります
col1 col2
---- ----
A 1
B 1
C 1
D 0
E 0
F 0
結果テーブルを次のようにしたい(Update
ステートメントを使用して)
col1 col2
---- ----
A 0
B 0
C 0
D 1
E 1
F 1
スクリプト 1 : SQL Fiddle でのデモ
UPDATE dbo.Table1 SET col2 = (CASE col2 WHEN 1 THEN 0 ELSE 1 END);
スクリプト 2 : 値が常に 0 または 1 の場合、ビット単位の排他的 OR 演算子を使用できます。SQL Fiddle でのデモ
UPDATE dbo.Table1 SET col2 = (col2 ^ 1);
あなたがINTを使用していると述べたので、どうですか:
update dbo.Table1 set col2 = 1 - col2;
もっとエレガントな方法があると思いますが、これはうまくいくはずです:
UPDATE Table1
SET col2 = CASE col2 WHEN 0 THEN 1 WHEN 1 THEN 0 ELSE col2 END
SQL Server で適切なブール値 (BIT) を使用している場合は、これを使用できます: http://sqlfiddle.com/#!6/0ed3c/1
UPDATE dbo.Table1 SET col2 = ~col2;
あなたはこれを行うことができます :
UPDATE table SET col = 1-col