SQL(프로그래머스 스터디 2)

김혜민·2024년 5월 29일

SQL

목록 보기
18/21

1. 비트 연산

  • 비트 단위로 데이터를 조작할 수 있게 해주는 연산

1) 비트 AND 연산 (&)

  • AND 연산자는 두 숫자의 각각의 비트가 모두 1일 때만 1을 반환
  • 그 외에는 0을 반환
select 6 & 3 
6의 이진수 표현: 0110
3의 이진수 표현: 0011
AND 연산 결과: 0010 (, 2)

2. 비트 OR 연산 (|)

  • OR 연산자는 두 숫자의 각각의 비트 중 하나라도 1이면 1을 반환
select 6 | 3 
6의 이진수 표현: 0110
3의 이진수 표현: 0011
OR 연산 결과: 0111 (, 7)

3. 비트 XOR 연산 (^)

  • XOR 연산자는 두 숫자의 각각의 비트가 서로 다를 때만 1을 반환
  • 같으면 0을 반환
select 6 ^ 3 
6의 이진수 표현: 0110
3의 이진수 표현: 0011
XOR 연산 결과: 0101 (, 5)

4. 비트 NOT 연산 (~)

  • NOT 연산자는 숫자의 모든 비트를 반전
  • 1은 0으로, 0은 1로 바뀜!
select ~ 6 
68비트 이진수 표현: 0000 0110
NOT 연산 결과: 1111 1001 (2의 보수 표현 방식으로 -7이 됨)

* 이 방식에서 가장 왼쪽 비트(최상위 비트)는 부호 비트로 사용
- 1이면 음수, 0이면 양수를 나타냄

2. Datediff

  • 두 날짜 일수 차이 계산
Datediff(datepart,StartDate,Enddate)

* 대여일자 계산시 유의점!
대여기간 + 1을 해서 계산해야함!! → datediff(startdate,enddate)+1
ex) 2024-06-05에 빌려서 2024-06-06에 반납하면 날짜 차이로는 1일이지만 실제 대여기간은 2!!

profile
성장하는 주니어 데이터 분석가입니다!

0개의 댓글