더북(TheBook)

6.2.3 날짜형 함수

날짜형 함수는 날짜와 시간 데이터를 대상으로 연산하는 함수로, 숫자형, 문자형 함수와 더불어 자주 사용되는 함수입니다. 기본적인 날짜형 함수는 표 6-5에 나와 있습니다.

▼ 표 6-5 날짜형 함수

함수

반환값

사용 예

CURDATE()

CURRENT_DATE()

CURRENT_DATE

현재 날짜 반환

CURDATE()2021-01-01

CURTIME(),

CURRENT_TIME()

CURRENT_TIME

현재 시각을 시:분:초 형태로 반환

CURTIME()20:02:10

NOW(),

CURRENT_TIMESTAMP()

CURRENT_TIMESTAMP

현재 날짜와 시간 반환

NOW()2021-01-01 20:02:10

DAYNAME (date)

date의 요일을 반환

DAYNAME('2021-01-01')Friday

DAYOFMONTH(date)

DAY(date)

date에서 일을 반환

DAYOFMONTH('2021-01-02')2

DAYOFWEEK(date)

date에서 일을 요일별 숫자로 반환(1: 일요일, 7: 토요일)

DAYOFWEEK('2021-01-02')7

DAYOFYEAR(date)

date에서 1년 기준으로 날짜를 일수로 반환, 반환값의 범위는 1~366

DAYOFMONTH('2021-12-31')365

LAST_DAY(date)

date가 속한 월의 마지막 날짜 반환

LAST_DAY('2021-01-02')2021-01-31

YEAR(date)

date에서 연 반환

YEAR('2021-01-02')2021

MONTH(date)

date에서 월 반환

MONTH('2021-02-02')2

QUARTER(date)

date의 분기 반환

QUARTER('2021-02-02')1

WEEKOFYEAR(date)

date가 몇 주차인지 반환(1~53주)

WEEKOFYEAR('2021-02-22')8

HOUR(time)

time에서 시간 반환

HOUR('10:53:24')10

MINUTE(time)

time에서 분 반환

MINUTE('10:53:24')53

SECOND(time)

time에서 초 반환

SECOND('10:53:24')24

DATE(expr)

expr에서 날짜 부분 반환

DATE('2021-01-02 12:32:10')2021-01-02

TIME(expr)

expr에서 시간 부분 반환

TIME('2021-01-02 12:32:10')12:32:10

DATE_ADD(date, INTERVAL expr unit)

ADDDATE(date, INTERVAL expr unit)

dateexpr unit을 더한 날짜 반환

DATE_ADD('2021-01-10',

INTERVAL 10 DAY)2021-01-20

ADDDATE(expr, days)

exprdays를 더한 날짜 반환

ADDDATE('2021-01-10', 10)2021-01-20

DATE_SUB(date, INTERVAL expr unit)

SUBDATE(date, INTERVAL expr unit)

dateexpr unit을 뺀 날짜 반환

DATE_SUB('2021-01-10',
INTERVAL 5 DAY)
2021-01-05

SUBDATE(expr, days)

expr에서 days를 뺀 날짜 반환

SUBDATE('2021-01-10', 5)
2021-01-05

EXTRACT(unit FROM date)

date에서 unit으로 지정된 부분 반환

EXTRACT(YEAR_MONTH FROM '2021-01-31') → 202101

DATEDIFF(expr1, expr2)

expr1에서 expr2를 뺀 날짜를 일수로 반환

DATEDIFF('2021-01-31',

'2021-01-21')10

DATE_FORMAT(date, format)

dateformat에 명시된 형태로 변환해 반환

DATE_FORMAT('2021-01-31',

%y %)21/01/31

STR_TO_DATE(str, format)

strformat에 맞게 날짜로 변환

STR_TO_DATE('21,1,2021',

'%d,%m,%Y')2021-01-21

MAKEDATE(year, dayofyear)

yeardayofyear에 해당하는 일수를 더한 날짜 반환

MAKEDATE(2021, 100)2021-04-10

SYSDATE()

현재 날짜 반환

SYSDATE()2021-01-31 12:39:20

WEEK(date, mode)

date가 몇 주차인지 반환

YEARWEEK('2021-10-01')39

YEARWEEK(date, mode)

date가 속한 연도와 주차 반환

YEARWEEK('2021-10-01')202139

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.