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 |