| 함수 이름 | 설명 |
|---|---|
| NOW() | 시스템의 현재 시각을 리턴한다. |
| DATE_ADD(시간, INTERVAL 값 단위) | 주어진 시각을 기준으로 날짜를 연산하여 리턴한다. |
| DATE_FORMAT(시각, 형식) | 주어진 시각을 형식에 맞춰 변경한 결과를 리턴한다. |
사용 예
- 1년 후 👉 date_add(now(), INTERVAL 1YEAR)
- 3개월 전 👉 date_add(now(), INTERVAL -3MONTH)
| 기능 | 키워드 | 기능 | 키워드 |
|---|---|---|---|
| 달 이름 | %M | MM형식의 월 | %m |
| 요일이름 | %W | HH형식의 시간(24시간제) | %H |
| YYYY형식의 년도 | %Y | H형식의 시간(24시간제) | %k |
| YY형식의 년도 | %y | HH형식의 시간(12시간제) | %h |
| 요일 이름의 약자 | %a | MM형식의 분 | %i |
| DD형식의 날짜 | %d | SS형식의 초 | %s |
| D형식의 날짜 | %e | AM/PM | %p |
사용 예시
- yy/mm/dd hh:mi:ss 형식의 날짜 얻기
SELECT DATE_FORMAT(NOW(),'%y/%m/%d%H:%i:%s'); +---------------------------------------+ | DATE_FORMAT(NOW(),'%y/%m/%d%H:%i:%s') | +---------------------------------------+ | 24/10/0801:59:52 | +---------------------------------------+ 1 row in set (0.00 sec)
- 현재 시간(시스템상의 시간) 출력
SELECT NOW();
+---------------------+
| NOW() |
+---------------------+
| 2024-10-08 02:02:27 |
+---------------------+
1 row in set (0.00 sec)
SELECT DATE_ADD(NOW(), INTERVAL 100 DAY);
+-----------------------------------+
| DATE_ADD(NOW(), INTERVAL 100 DAY) |
+-----------------------------------+
| 2025-01-16 02:04:01 |
+-----------------------------------+
1 row in set (0.00 sec)
SELECT DATE_ADD(NOW(), INTERVAL -7 DAY);
+----------------------------------+
| DATE_ADD(NOW(), INTERVAL -7 DAY) |
+----------------------------------+
| 2024-10-01 02:04:41 |
+----------------------------------+
1 row in set (0.00 sec)
SELECT DATE_FORMAT(NOW(), '%Y%m%d%H%i%s');
+------------------------------------+
| DATE_FORMAT(NOW(), '%Y%m%d%H%i%s') |
+------------------------------------+
| 20241008020625 |
+------------------------------------+
1 row in set (0.00 sec)
SUBSTRING으로 잘라쓰기 용이+--------+---------------------+--------+
| name | birthdate | height |
+--------+---------------------+--------+
| 전인하 | 1979-07-02 00:00:00 | 176 |
| 박미경 | 1984-05-16 00:00:00 | 168 |
| 김영균 | 1981-03-21 00:00:00 | 170 |
| 지은경 | 1980-04-12 00:00:00 | 161 |
| 임유진 | 1983-01-21 00:00:00 | 171 |
| 서재진 | 1985-11-29 00:00:00 | 186 |
| 이광훈 | 1981-09-13 00:00:00 | 175 |
| 류민정 | 1981-08-19 00:00:00 | 162 |
| 김진영 | 1982-06-06 00:00:00 | 164 |
| 오유석 | 1977-09-12 00:00:00 | 177 |
| 하나리 | 1985-01-09 00:00:00 | 160 |
| 윤진욱 | 1979-04-02 00:00:00 | 171 |
| 이동훈 | 1983-12-10 00:00:00 | 172 |
| 박동진 | 1985-11-24 00:00:00 | 182 |
| 김진경 | 1983-02-28 00:00:00 | 166 |
| 조명훈 | 1984-12-14 00:00:00 | 184 |
+--------+---------------------+--------+
SELECT name, birthdate FROM student WHERE DATE_FORMAT(birthdate, '%Y') >= 1980;
+--------+---------------------+
| name | birthdate |
+--------+---------------------+
| 박미경 | 1984-05-16 00:00:00 |
| 김영균 | 1981-03-21 00:00:00 |
| 지은경 | 1980-04-12 00:00:00 |
| 임유진 | 1983-01-21 00:00:00 |
| 서재진 | 1985-11-29 00:00:00 |
| 이광훈 | 1981-09-13 00:00:00 |
| 류민정 | 1981-08-19 00:00:00 |
| 김진영 | 1982-06-06 00:00:00 |
| 하나리 | 1985-01-09 00:00:00 |
| 이동훈 | 1983-12-10 00:00:00 |
| 박동진 | 1985-11-24 00:00:00 |
| 김진경 | 1983-02-28 00:00:00 |
| 조명훈 | 1984-12-14 00:00:00 |
+--------+---------------------+
13 rows in set (0.01 sec)