..

Search

39) 날짜와 시간 함수

날짜와 시간 함수


현재 날짜와 시간 정보

NOW() 함수는 현재 날짜와 시간을 반환합니다.

이때 반환되는 값은 'YYYY-MM-DD HH:MM:SS' 또는 YYYYMMDDHHMMSS 형태로 반환됩니다.

 

CURDATE() 함수는 현재 날짜를 반환합니다.

이때 반환되는 값은 'YYYY-MM-DD' 또는 YYYYMMDD 형태로 반환됩니다.

 

CURTIME() 함수는 현재 시각을 반환합니다.

이때 반환되는 값은 'HH:MM:SS' 또는 HHMMSS 형태로 반환됩니다.

예제

SELECT NOW(),

CURDATE(),

CURTIME();

코딩연습 ▶ 


특정 날짜와 시간 정보

DATE() 함수는 전달받은 값에 해당하는 날짜 정보를 반환합니다.

MONTH() 함수는 전달받은 값에서 월에 해당하는 값만을 반환하며, 0부터 12 사이의 값을 가집니다.

DAY() 함수는 전달받은 값에서 일자에 해당하는 값만을 반환하며, 0부터 31 사이의 값을 가집니다.

 

HOUR() 함수는 전달받은 값에서 시간에 해당하는 값만을 반환하며, 0부터 23 사이의 값을 가집니다.

MINUTE() 함수는 전달받은 값에서 분에 해당하는 값만을 반환하며, 0부터 59 사이의 값을 가집니다.

SECOND() 함수는 전달받은 값에서 초에 해당하는 값만을 반환하며, 0부터 59 사이의 값을 가집니다.

예제

SELECT DATE('2016-02-19 12:34:56'), 

MONTH('2016-01-02 12:34:56'), 

DAY('2016-01-02 12:34:56'), 

HOUR('12:34:56'), 

MINUTE('12:34:56'), 

SECOND('12:34:56');

코딩연습 ▶ 

실행 결과

2016-02-19

2

19

12

34

56


요일과 월 이름

MONTHNAME() 함수는 전달받은 값의 월에 해당하는 이름을 반환합니다.

DAYNAME() 함수는 전달받은 값의 요일에 해당하는 이름을 반환합니다.

예제

 

SELECT MONTHNAME('2017-02-19'), 

DAYNAME('2017-02-19');

 

코딩연습 ▶ 

실행 결과

February

Sunday


연도별, 월별, 주별 일수

DAYOFWEEK() 함수는 전달받은 값의 일자가 해당 주에서 몇 번째 날인지를 반환합니다.

이 함수는 1부터 7 사이의 값을 반환합니다. (일요일 = 1, 토요일 = 7)

 

DAYOFMONTH() 함수는 전달받은 값의 일자가 해당 월에서 몇 번째 날인지를 반환합니다.

이 함수는 0부터 31 사이의 값을 반환합니다.

 

DAYOFYEAR() 함수는 전달받은 값의 일자가 해당 연도에서 몇 번째 날인지를 반환합니다.

이 함수는 1부터 366 사이의 값을 반환합니다.

예제

SELECT DAYOFMONTH('2017-02-19'), 

DAYOFWEEK('2017-02-19'), 

DAYOFYEAR('2017-02-19');

코딩연습 ▶

실행 결과

1

19

50


날짜와 시간의 형식화

DATE_FORMAT() 함수는 전달받은 형식에 맞춰 날짜와 시간 정보를 문자열로 반환합니다.

 

DATE_FORMAT() 함수에 인수로 전달할 수 있는 날짜와 시간 표현의 형식은 다음과 같습니다.

형태 설명 예시
%a 요일을 세 개의 문자로 표현함. Sun부터 Sat
%b 월의 축약형을 세 개의 문자로 표현함. Jan부터 Dec
%c 월을 숫자로 표현함. 0부터 12
%D 날짜 뒤에 영어 서수를 붙임 0th, 1st, 2nd, 3rd, ...
%d 날짜를 두 자리 숫자로 표현함. 00부터 31
%e 날짜를 숫자로 표현함. 0부터 31
%f 마이크로초를 여섯 자리 숫자로 표현함. 000000에서 999999
%H 24시간 형식 시간을 두 자리 숫자로 표현함. 00부터 23
%h 12시간 형식 시간을 두 자리 숫자로 표현함. 01부터 12
%I 12시간 형식 시간을 두 자리 숫자로 표현함. 01부터 12
%i 분을 두 자리 숫자로 표현함. 00부터 59
%j 일 년 중 몇 번째 날인지를 세 자리 숫자로 표현함. 001부터 366
%k 24시간 형식으로 시간을 표현함. 0부터 23
%l 12시간 형식으로 시간을 표현함. 1부터 12
%M 월을 완전한 문자열로 표현함. January부터 December
%m 월을 두 자리 숫자로 표현함. 00부터 12
%p

오전과 오후의 대문자를 표현함.

AM 또는 PM
%r hh:mm:ss AM/PM 형식으로 시간을 표현함. (12시간 형식) 00:00:01 AM
%S 초를 두 자리 숫자로 표현함. 00부터 59
%s 초를 두 자리 숫자로 표현함. 00부터 59
%T hh:mm:ss 형식으로 시간을 표현함. (24시간 형식) 23:01:01
%U 일 년 중 몇 번째 주인지를 숫자로 표현함. (한 주는 일요일부터 시작함) 00부터 53
%u 일 년 중 몇 번째 주인지를 숫자로 표현함. (한 주는 월요일부터 시작함) 00부터 53
%V

일 년 중 몇 번째 주인지를 숫자로 표현함.

(한 주는 일요일부터 시작하고, %X 형식을 사용함)

00부터 53
%v

일 년 중 몇 번째 주인지를 숫자로 표현함.

(한 주는 월요일부터 시작하고, %x 형식을 사용함)

00부터 53
%W 요일을 완전한 문자열로 표현함. Sunday부터 Saturday
%w 요일을 숫자로 표현함. 0(일요일)부터 6(토요일)
%X

연도를 완전한 네 자리 숫자로 표현함.

(한 주는 일요일부터 시작하고, %V 형식을 사용함)

1999나 2003
%x

연도를 완전한 네 자리 숫자로 표현함.

(한 주는 월요일부터 시작하고, %v 형식을 사용함)

1999나 2003
%Y 연도를 완전한 네 자리 숫자로 표현함. 1999나 2003
%y 연도를 두 자리 숫자로 표현함. 99나 03
%% '%' 문자 %

 

예제

 

SELECT DATE_FORMAT('2017-02-19 12:34:56', '%D %y %a %d %m %b %j');

 

코딩연습 ▶ 

실행 결과

19th 17 Sun 19 02 Feb 050


연습문제