&(비트 단위 AND)
두 정수 값 간에 비트 단위 논리 AND 연산을 수행합니다.
구문
expression & expression
인수
expression
정수 데이터 형식 범주의 데이터 형식의 유효한 Microsoft® SQL Server™ 식입니다. expression은 비트 단위 연산에서 이진 숫자로 처리되고 변환되는 정수입니다.
결과 형식
입력 값이 int이면 int를 반환하고, 입력 값이 smallint이면 smallint를 반환하고, 입력 값이 tinyint이면 tinyint를 반환합니다.
비고
비트 단위 & 연산자는 두 식 간에 비트 단위 논리 AND를 수행하고 양쪽 식에서 해당 비트를 취합니다. 결과의 비트는 입력 식에 있는 양쪽 비트(확인 중인 현재 비트)의 값이 1이면 1로 설정되고 그렇지 않으면 결과의 비트는 0으로 설정됩니다.
& 비트 단위 연산자는 정수 데이터 형식 범주의 식에서만 사용될 수 있습니다.
왼쪽과 오른쪽 식의 정수 데이터 형식이 서로 다르면(예: 왼쪽expression은 smallint이고 오른쪽 expression은 int임) 더 작은 데이터 형식의 인수는 더 큰 데이터 형식으로 변환됩니다. 다음 예제에서 smallint expression은 int로 변환됩니다.
예제
다음은 int 데이터 형식의 테이블을 만들어 값을 표시하고 만든 테이블에 하나의 행을 입력하는 예제입니다.
USE master
GO
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'bitwise')
DROP TABLE bitwise
GO
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를 수행합니다.
USE MASTER
GO
SELECT a_int_value & b_int_value
FROM bitwise
GO
결과 집합은 다음과 같습니다.
-----------
10
(1개 행 적용됨)
170의 이진 표현(a_int_value 또는 A, 이하)은 0000 0000 1010 1010입니다. 75의 이진 표현(b_int_value 또는 B, 이하)은 0000 0000 0100 1011입니다. 이 두 값에 비트 단위 AND 연산을 수행하면 십진수로 10인 이진 결과 0000 0000 0000 1010이 생깁니다.
(A & B)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 0000 1010
'개발관련 > Database' 카테고리의 다른 글
| SQL Server 2005 로그인오류, 연결 풀링을 위해 다시 설정된 가지고 있는 SPID 를 SPID 세션을 다시 사용할 수 있는 클라이언트가 없습니다. (0) | 2011/08/16 |
|---|---|
| 데이터베이스 에러로그파일 지우기 (0) | 2011/02/23 |
| SQL Server 비트연산 (0) | 2010/03/25 |
| MS-SQL Express 버전 제한사항 (0) | 2010/01/27 |
| MSSQL ? 대소문자 인식 (0) | 2009/09/25 |
| SQL Server 2005 .NET CLR 통합기능 (0) | 2009/08/01 |



댓글을 달아 주세요