1. ホーム
  2. sql

[解決済み] T-SQLのブーリアン演算 'NOT' は 'bit' データ型では機能しない?

2023-06-17 13:22:31

質問

単一のブール NOT 操作を実行しようとすると、MS SQL Server 2005 では、次のブロックは動作しないようです。

DECLARE @MyBoolean bit;
SET @MyBoolean = 0;
SET @MyBoolean = NOT @MyBoolean;
SELECT @MyBoolean;

代わりに、私はより多くの成功を得るために

DECLARE @MyBoolean bit;
SET @MyBoolean = 0;
SET @MyBoolean = 1 - @MyBoolean;
SELECT @MyBoolean;

しかし、これは否定のような単純なものを表現するには、少しひねくれた方法に見えます。

何か見落としているのでしょうか?

どのように解決するのですか?

演算子 ~ を使用します。

DECLARE @MyBoolean bit
SET @MyBoolean = 0
SET @MyBoolean = ~@MyBoolean
SELECT @MyBoolean