1. MySQL 비트 연산자 종류
연산자 | 연산 | 설명 |
& | AND | 두 숫자가 모두 1이면 1을 반환 |
| | OR | 두 숫자 중 하나라도 1이면 1을 반환 |
^ | XOR | 두 숫자가 다르면 1을 반환 |
~ | NOT | 모든 비트를 반전 |
<< | 왼쪽 시프트 | 비트를 왼쪽으로 이동 (2의 n제곱 곱하기) |
>> | 오른쪽 시프트 | 비트를 오른쪽으로 이동 (2의 n제곱 나누기) |
2. 예제
(1) 비트 AND (&)
두 값의 각 비트가 모두 1일 때만 1을 반환한다.
SELECT 6 & 3;
결과: 2
더보기
설명
- 6 (110₂)
- 3 (011₂)
- 6 & 3 = 010₂ = 2
(2) 비트 OR (|)
두 값 중 하나라도 1이면 1을 반환한다.
SELECT 6 | 3;
결과: 7
더보기
설명
- 6 (110₂)
- 3 (011₂)
- 6 | 3 = 111₂ = 7
(3) 비트 XOR (^)
두 값이 다를 때만 1을 반환한다.
SELECT 6 ^ 3;
결과: 5
더보기
설명
- 6 (110₂)
- 3 (011₂)
- 6 ^ 3 = 101₂ = 5
(4) 비트 NOT (~)
비트를 반전(0 <-> 1)시킨다. (2의 보수 연산이 적용되므로 결과값이 음수로 나옴)
SELECT ~6;
결과: -7
더보기
설명
- 6 (00000110₂)
- ~6 = 11111001₂ = -7 (2의 보수 적용)
(5) 비트 왼쪽 시프트 (<<)
비트를 왼쪽으로 n칸 이동시킨다. (값 * 2^n)
SELECT 3 << 2;
결과: 12
더보기
설명
- 3 (0011₂) << 2
- 1100₂ = 12
(6) 비트 오른쪽 시프트 (>>)
비트를 오른쪽으로 n칸 이동시킨다. (값 / 2^n)
SELECT 12 >> 2;
결과: 3
더보기
설명
- 12 (1100₂) >> 2
- 0011₂ = 3
728x90
'SQL' 카테고리의 다른 글
[SQL] 재귀 CTE(Recursive CTE) (0) | 2025.04.10 |
---|---|
[SQL] SQL 정규 표현식 (SQL Regular Expression) (0) | 2025.01.12 |
[SQL] 가독성 높이기 (0) | 2025.01.08 |
[SQL] INSTR() (0) | 2024.12.19 |
[SQL] SUBSTR() (0) | 2024.12.19 |