본문 바로가기
SQL

DATE 타입 조회 함수

by jinwooahn 2021. 1. 21.
728x90

데이터가 DATE 형식인 경우 내장함수들을 사용하여 훨씬 더 빠르게 조회할 수 있다.

1. 날짜, 월, 일 조회

- YEAR(DATE 타입 열), MONTH(DATE 타입 열), DAYOFMONTH(DATE 타입 열) 이 있다.

 

 

-1995년 생의 사람들을 조회하고 싶을 때

1
SELECT * FROM copang_main.member WHERE YEAR(birthday) = '1995';
cs

 

 

 

-3,4,5월에 가입한 사람들을 조회하고 싶을 때

1
SELECT * FROM copang_main.member WHERE MONTH(sign_up_day) IN (3,4,5);
cs

 

 

 

- 각 달의 후반부에 가입한 사람들을 조회( DAYOFMONTH() + BETWEEN )

 

1
SELECT * FROM copang_main.member WHERE DAYOFMONTH(sign_up_day) BETWEEN 15 AND 31;
cs

 

 

2. 날짜 간 차이 구하기 

- DATETIME( A , B ) : 날짜 A - 날짜 B를 알려준다.

- CURDATE() : 오늘 날짜를 사용할 수 있게 해준다.

 

 

- 회원의 가입일이 '2019-01-01' 기준으로 얼마나 되었는지 알아보기

=> DATEDIFF()의 결과를 새로운 열로 값을 보여주게끔 하였다.

1
SELECT email, sign_up_day, DATEDIFF(sign_up_day, '2019-01-01'FROM copang_main.member;
cs

 

 

 

- 오늘 날짜를 기준으로 가입한 일 수 찾기

=> CURDATE()가 현재일임을 알 수 있게 열로 추가하였다.

1
SELECT email, sign_up_day, CURDATE(), DATEDIFF(sign_up_day, CURDATE()) FROM copang_main.member;
cs

 

 

 

3. 특정 날짜에서 며칠을 더할 때, 뺄 때

- DATE_ADD(), DATE_SUB()

 

 

- 가입일로부터 1년을 더하려고 할 때

1
SELECT email, sign_up_day, DATE_ADD(sign_up_day, INTERVAL 300 DAY) FROM copang_main.member;
cs

728x90

'SQL' 카테고리의 다른 글

MySQL 주의사항  (0) 2021.01.21
UNIX Timestamp를 DATETIME 으로 변환하기  (0) 2021.01.21
IN 구문, LIKE의 언더바 사용  (0) 2021.01.21
SELECT, WHERE 문  (0) 2021.01.19
Auto Increment 설정  (0) 2021.01.18