SQL Engine Reference (v11)

ビット演算 NOT(~)

ビット演算子 NOT は、あらゆる変数のビット値を反転し、その値を対応する結果のビットにセットします。

構文

~

は INTEGER データ型を含んでいる任意の有効な式です。ビット演算のためにバイナリ数値へ変換されます。

戻り値

ビット演算子 NOT は、INTEGER データ型の単一オペランドの反転を返します。すべての 1 は 0 に変換され、すべての 0 は 1 に変換されます。ビット演算子 NOT は、オペランドとして 1 つの数値のみを取ります。

次のクエリは、数値リテラルに対して補数演算を実行します。

SELECT ~12 

結果は -13 です。

補数演算は符合ビットも補完するため、結果は負数になります。このため、Pervasive PSQL は結果を負数として扱います。

12 のバイナリ表現(shortint)
12 の補数
0000 0000 0000 1100
1111 1111 1111 0011

結果数値の 2 の補数は 13 です。したがって、結果は -13 になります。


メモ

チルダ(~)は、ユーザー定義名の一部として使用できません。



ビット演算 AND(&)

ビット演算 OR(|)