[MySQL] 비트 연산자 (bitwise operator)

2022. 9. 8. 02:44·Programming/MySQL
728x90

비트 연산자(bitwise operator)

비트 연산자는 논리 연산자와 비슷하지만, 비트(bit) 단위로 논리 연산을 수행한다.

또한, 비트 단위로 전체 비트를 왼쪽이나 오른쪽으로 이동시킬 때도 사용한다.

비트 연산자 설명
& 대응되는 비트가 모두 1이면 1을 반환함. (AND 연산)
| 대응되는 비트 중에서 하나라도 1이면 1을 반환함. (OR 연산)
^ 대응되는 비트가 서로 다르면 1을 반환함. (XOR 연산)
~ 비트를 1이면 0으로, 0이면 1로 반전시킴. (NOT 연산)
<< 지정한 수만큼 비트를 전부 왼쪽으로 이동시킴. (left shift 연산)
>> 부호를 유지하면서 지정한 수만큼 비트를 전부 오른쪽으로 이동시킴. (right shift 연산)
SELECT b'1000' & b'1111', -- 첫 번째 비트만이 둘 다 1이므로, 연산 결과는 b'1000'이 됨.
b'1000' | b'1111',        -- 모든 비트에 하나라도 1이 포함되어 있으므로, 연산 결과는 b'1111'이 됨.
b'1000' ^ b'1111',        -- 첫 번째 비트를 제외한 모든 비트가 서로 다르므로, 연산 결과는 b'0111'이 됨.
b'1100' >> 1,             -- 모든 비트를 1비트씩 오른쪽으로 이동시키므로, 연산 결과는 b'0110'이 됨.
b'1100' >> 2;             -- 모든 비트를 2비트씩 오른쪽으로 이동시키므로, 연산 결과는 b'0011'이 됨.
실행 결과
b'1000' & b'1111' b'1000' | b'1111' b'1000' ^ b'1111' b'1100' >> 1 b'1100' >> 2
8 15 7 6 3

MySQL에서는 '0'과 '1'로만 이루어진 문자열 앞에 'b'를 붙여 2진수를 표현할 수 있다.

'Programming > MySQL' 카테고리의 다른 글

[MySQL] 패턴 매칭 LIKE, REGEXP  (0) 2022.09.08
[MySQL] 흐름 제어 CASE, IF(), IFNULL(), NULLIF()  (0) 2022.09.08
[MySQL] 논리 연산자 (logical operator)  (0) 2022.09.08
[MySQL] 비교 연산자 (comparison operator)  (0) 2022.09.08
[MySQL] 대입 연산자 (assignment operator)  (0) 2022.09.08
'Programming/MySQL' 카테고리의 다른 글
  • [MySQL] 패턴 매칭 LIKE, REGEXP
  • [MySQL] 흐름 제어 CASE, IF(), IFNULL(), NULLIF()
  • [MySQL] 논리 연산자 (logical operator)
  • [MySQL] 비교 연산자 (comparison operator)
arajo
arajo
  • arajo
    아라 메모장
    arajo
  • 전체
    오늘
    어제
    • 분류 전체보기 (509)
      • Language (298)
        • HTML (55)
        • CSS (11)
        • JavaScript (70)
        • TypeScript (8)
        • Python (33)
        • Java (119)
        • C (0)
        • C# (2)
      • Programming (92)
        • Programming (14)
        • Web (51)
        • Apache (1)
        • MySQL (23)
        • AWS (3)
      • Framework | Library (26)
        • Framework | Library (3)
        • Vue.js (2)
        • React.js (5)
        • React Native (4)
        • Node.js (1)
        • Ajax (1)
        • Bootstrap (8)
        • Spring (1)
        • Flutter (1)
      • etc (2)
      • 휴식 (19)
        • 책 (13)
        • 일기 (5)
        • 게임 일기 (1)
      • A (71)
        • 공부 (18)
        • 기타 (6)
        • 일 (47)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    리액트
    변수
    자바스크립트
    JavaScript
    제어문
    파이썬
    object
    next.js
    web
    CSS
    react
    Java
    event
    MySQL
    TypeScript
    Python
    타입스크립트
    array
    HTML
    객체
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
arajo
[MySQL] 비트 연산자 (bitwise operator)
상단으로

티스토리툴바