&(비트 AND)(Transact-SQL)& (Bitwise AND) (Transact-SQL)

이 항목은 다음에 적용됩니다. 예SQL Server(2008부터)예Azure SQL Database예Azure SQL Data Warehouse 예병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

두 정수 값 간에 비트 논리 AND 연산을 수행합니다.Performs a bitwise logical AND operation between two integer values.

항목 링크 아이콘 Transact-SQL 구문 규칙Topic link icon Transact-SQL Syntax Conventions

구문Syntax

expression & expression  

인수Arguments

expressionexpression
정수 데이터 형식 범주에 속하는 데이터 형식, 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. 은 비트 연산에서 이진 숫자로 취급됩니다.expression is treated as a binary number for the bitwise operation.

참고

비트 연산에서는 하나의 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.

RemarksRemarks

& 비트 연산자는 두 식 간에 비트 논리 AND를 수행하고 양쪽 식에서 해당 비트를 취합니다.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. 이 경우에 smallintint로 변환됩니다.In this case, the smallintexpression is converted to an int.

Examples

다음 예에서는 값을 저장하기 위해 int 데이터 형식을 사용하여 테이블을 만들고 두 값을 한 행에 삽입하는 방법을 보여 줍니다.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_valueb_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. 이 두 값에 대해 비트 AND 연산을 수행하면 이진수로 0000 0000 0000 1010이 산출되며 십진수로는 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)