날짜와 시간의 형식화
- DATE_FORMAT(date, format) : 주어진 date를 format에 맞춰 문자열로 반환
SELECT DATE_FORMAT(hiredate, '%Y-%m-%d') FROM EMP;
-- YYYY-mm-dd
SELECT DATE_FORMAT(hiredate, '%Y-%m-%d %T') FROM EMP;
SELECT DATE_FORMAT(hiredate, '%Y-%m-%d %H:%i:%s') FROM EMP;
-- YYYY-mm-dd 00:00:00
형태 | 설명 | 값 |
%a | 요일을 세 개의 문자로 표현 | Sun~Sat |
%b | 월(Month)을 세 개의 문자로 표현 | Jan~Dec |
%c | 월을 숫자로 표현 | 0~12 |
%d | 날짜를 두 자리 수로 표현 | 00~31 |
%e | 날짜를 숫자로 표현 | 0~31 |
%f | 마이크로초를 여섯 자리 수로 표현 | 000000~999999 |
%H | 24시간 형식을 두 자리 숫자로 표현 | 00~23 |
%h, %I | 12시간 형식을 두 자리 숫자로 표현 | 1~12 |
%i | 분을 두 자리 숫자로 표현 | 00~59 |
%j | 일 년 중 몇 번째 날인지 세 자리 수로 표현 | 001~366 |
%k | 24시간 형식으로 시간 표현 | 00~23 |
%l | 12시간 형식으로 시간 표현 | 1~12 |
%M | 월을 완전한 문자열로 표현 | January_December |
%m | 월을 두 자리 숫자로 표현 | 00~12 |
%p | 오전과 오후의 대문자를 표현 | AM 또는 PM |
%w | 요일을 숫자로 표현 | 0(일요일)~6(토요일) |
%Y | 연도를 네 자리 숫자로 표현 | ex> 1998, 2004 |
%y | 연도를 두 자리 숫자로 표현 | ex> 98, 04 |
%% | '%' 문자 | % |
특정 날짜와 시간 정보
- DATE(exp) : 주어진 exp에 해당하는 날짜 정보 반환
- FUNCTION(date)
FUNCTION | MONTH | DAY | HOUR | MINUTE | SECOND | WEEKDAY |
월 (1~12) | 일 (0~31) | 시간 (0~23) | 분 (0~59) | 초 (0~59) | 요일 (월=0, 일=6) |
- EXTRACT(part FROM date) : 주어진 date에서 원하는 part에 해당하는 숫자를 반환.
특정 날짜와 시간 연산
- ADDDATE(date, INTERVAL value addunit) : date에 value addunit만큼 시간/날짜를 추가한 date를 반환(INTERVAL addunit 대신 days도 가능)
- ADDTIME(datetime, addtime) : datetime에 addtime만큼 시간을 추가한 datetime을 반환
- SUBDATE( date, INTERVAL value unit) : date에 valule unit만큼 시간/날짜를 뺀 date를 반환 (INTERVAL addunit 대신 days도 가능)
- SUBTIME(datetime, addtime) : datetime에 addime만큼 시간을 뺀 datetime을 반환
SELECT ADDDATE("2024-05-11", INTERVAL 10 DAT)
-- 2022-05-21
SELECT ADDTIME("2024-05-11 13:22:19", "10 02:03")
-- 2024-05-21 15:25:19
특정 날짜나 시간의 차이 연산
- PERIOD_DIFF(period1, period2) : 두 기간의 차이를 숫자로 변환 (period 형식은 YYMM 또는 YYYYMM만 가능, period1과 period2는 같은 형식이어야 함)
- DATEDIFF(date1, date2) : 두 날짜 사이의 일수를 숫자로 반환(date1-date2)
- TIMEDIFF(time1, time2) : 두 시간의 차이를 datetime 형태로 반환(time1-time2)
SELECT PERIOD_DIFF(202412, 202405)
-- 7
SELECT DATEDIFF('2024-12-28', '2024-01-26')
-- 337
SELECT TIMEDIFF('2024-05-11 19:41:11', '2024-05-11 13:29:21')
-- 06:11:50
[참고]
- https://www.w3schools.com/sql/func_mysql_adddate.asp
- https://oneul-losnue.tistory.com/123#%ED%-A%B-%EC%A-%--%--%EB%--%A-%EC%A-%-C%EB%--%--%--%EC%-B%-C%EA%B-%--%EC%-D%--%--%EC%B-%A-%EC%-D%B-%--%EC%--%B-%EC%--%B-
'CS > 데이터베이스' 카테고리의 다른 글
[MySQL] 그룹함수(COUNT, MIN, MAX, SUM, AVG) (0) | 2024.03.23 |
---|---|
[MySQL] NULL 값 처리 (0) | 2024.03.23 |