& (ビットごとの AND) (Transact-SQL)& (Bitwise AND) (Transact-SQL)

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

2 つの整数値の間でビットごとの論理積演算を実行します。Performs a bitwise logical AND operation between two integer values.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

expression & expression  

注意

SQL Server 2014 以前の Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

引数Arguments

式 (expression)expression
整数データ型に分類されるデータ型のいずれか、または bit、または binary または varbinary データ型の有効な を指定します。Is any valid expression of any of the data types of the integer data type category, or the bit, or the binary or varbinary data types. は、ビットごとの演算に対して 2 進数として扱われます。expression is treated as a binary number for the bitwise operation.

注意

ビットごとの演算では、1 つの のみが binary または varbinary データ型のいずれかになります。In a bitwise operation, only one expression can be of either binary or varbinary data type.

戻り値の型Result Types

入力値が int の場合は int です。int if the input values are int.

入力値が smallint の場合は smallint です。smallint if the input values are smallint.

入力値が tinyint または bit の場合は tinyint です。tinyint if the input values are tinyint or bit.

解説Remarks

ビットごとの & 演算子は、2 つの式の対応するビットを対象にビットごとの論理積演算を実行します。The & bitwise operator performs a bitwise logical AND between the two expressions, taking each corresponding bit for both expressions. 入力式の中で現在処理の対象にあるビットについて、両方のビットが 1 という値を持つ場合だけ、結果セットのビットは 1 に設定されます。それ以外の場合、結果は 0 に設定されます。The bits in the result are set to 1 if and only if both bits (for the current bit being resolved) in the input expressions have a value of 1; otherwise, the bit in the result is set to 0.

左側の式と右側の式が異なる整数型の場合 (たとえば、左側の smallint 型で、右側の int 型の場合)、小さいデータ型の引数が大きいデータ型の引数に変換されます。If the left and right expressions have different integer data types (for example, the left expression is smallint and the right expression is int), the argument of the smaller data type is converted to the larger data type. この場合、smallint "" は int に変換されます。In this case, the smallint expression is converted to an int.

Examples

次の例では、int 型で値を格納するテーブルを作成し、1 行に 2 つの値を挿入します。The following example creates a table using the int data type to store the values and inserts two values into one row.

CREATE TABLE bitwise (   
  a_int_value INT NOT NULL,  
  b_int_value INT NOT NULL);  
GO  
INSERT bitwise VALUES (170, 75);  
GO  

このクエリは、a_int_value 列と b_int_value 列の間でビットごとの AND を実行します。This query performs the bitwise AND between the a_int_value and b_int_value columns.

SELECT a_int_value & b_int_value  
FROM bitwise;  
GO  

結果セットは次のようになります。Here is the result set:

-----------   
10            
  
(1 row(s) affected)  

170 (a_int_value または A) をバイナリで表すと、0000 0000 1010 1010 になります。The binary representation of 170 (a_int_value or A) is 0000 0000 1010 1010. 75 (b_int_value または B) をバイナリで表すと、0000 0000 0100 1011 になります。The binary representation of 75 (b_int_value or B) is 0000 0000 0100 1011. この 2 つの値に対してビットごとの論理積演算を実行すると、結果はバイナリで 0000 0000 0000 1010、10 進数では 10 になります。Performing the bitwise AND operation on these two values produces the binary result 0000 0000 0000 1010, which is decimal 10.

(A & B)  
0000 0000 1010 1010  
0000 0000 0100 1011  
-------------------  
0000 0000 0000 1010  

参照See Also

式 (Transact-SQL) Expressions (Transact-SQL)
演算子 (Transact-SQL) Operators (Transact-SQL)
ビットごとの演算子 (Transact-SQL) Bitwise Operators (Transact-SQL)
&= (ビットごとの AND 代入) (Transact-SQL) &= (Bitwise AND Assignment) (Transact-SQL)
複合演算子 (Transact-SQL)Compound Operators (Transact-SQL)