ビットごとの演算子 (Transact-SQL)Bitwise Operators (Transact-SQL)

適用対象: はいSQL Server はいAzure SQL Database はいAzure Synapse Analytics (SQL DW) はいParallel Data Warehouse APPLIES TO: YesSQL Server YesAzure SQL Database YesAzure Synapse Analytics (SQL DW) YesParallel Data Warehouse

ビットごとの演算子は、整数型に分類されるデータ型を持つ 2 つの式に対してビット操作を実行します。Bitwise operators perform bit manipulations between two expressions of any of the data types of the integer data type category.
ビットごとの演算子は 2 つの整数値をバイナリ ビットに変換し、各ビットに対して AND、OR、または NOT 演算を実行して結果を生成します。Bitwise operators convert two integer values to binary bits, perform the AND, OR, or NOT operation on each bit, producing a result. 次にその結果を整数に変換します。Then converts the result to an integer.

たとえば、整数 170 はバイナリの 1010 1010 に変換されます。For example, the integer 170 converts to binary 1010 1010. 整数 75 はバイナリの 0100 1011 に変換されます。The integer 75 converts to binary 0100 1011.

operatoroperator ビットごとの数値演算bitwise math
ANDAND
任意の位置にあるビットが両方とも 1 の場合、結果は 1 になります。If bits at any location are both 1, the result is 1.
1010 1010 = 1701010 1010 = 170
0100 1011 = 750100 1011 = 75
-----------------
0000 1010 = 100000 1010 = 10
OROR
任意の位置にあるいずれかのビットが 1 の場合、結果は 1 になります。If either bit at any location is 1, the result is 1.
1010 1010 = 1701010 1010 = 170
0100 1011 = 750100 1011 = 75
-----------------
1110 1011 = 2351110 1011 = 235
NOTNOT
すべてのビット位置にあるビット値を反転させます。Reverses the bit value at every bit location.
1010 1010 = 1701010 1010 = 170
-----------------
0101 0101 = 850101 0101 = 85

次のトピックを参照してください。See the following topics:

ビットごとの演算子のオペランドは、整数または image 型を除くバイナリ文字列型に分類されるデータ型です。ただし、両方のオペランドがバイナリ文字列型に分類されるデータ型であってはなりません。The operands for bitwise operators can be any one of the data types of the integer or binary string data type categories (except for the image data type), except that both operands cannot be any one of the data types of the binary string data type category. 次の表に、サポートされているオペランドのデータ型を示します。The following table shows the supported operand data types.

左オペランドLeft operand 右オペランドRight operand
[バイナリ]binary intsmallint、または tinyintint, smallint, or tinyint
bitbit intsmallinttinyint、または bitint, smallint, tinyint, or bit
bigintbigint bigintintsmallinttinyintbinary、または varbinarybigint, int, smallint, tinyint, binary, or varbinary
intint intsmallinttinyintbinary、または varbinaryint, smallint, tinyint, binary, or varbinary
smallintsmallint intsmallinttinyintbinary、または varbinaryint, smallint, tinyint, binary, or varbinary
tinyinttinyint intsmallinttinyintbinary、または varbinaryint, smallint, tinyint, binary, or varbinary
varbinaryvarbinary intsmallint、または tinyintint, smallint, or tinyint

参照See Also

演算子 (Transact-SQL) Operators (Transact-SQL)
データ型 (Transact-SQL) Data Types (Transact-SQL)
複合演算子 (Transact-SQL)Compound Operators (Transact-SQL)