반응형

MySQL 함수

날짜 함수

NOW(), CURRENT_TIMESTAMP, CURRENT_TIMESTAMP(), LOCALTIME, LOCALTIME(), LOCALTIMESTAMP, LOCALTIMESTAMP()

현재 시간을 리턴합니다.

SYSDATE()

'YYYY-MM-DD HH:MM:SS' 또는 'YYYYMMDDHHMMSS' 형식으로 현재 날짜나 시간을 리턴합니다. 5.0.13 버전이후부터는 SYSDATE()는 실행 시점의 시간을 표시하므로 NOW()와 차이점이 있습니다. 아래 명령을 실행하여 차이점을 확인하세요.

SELECT NOW(), SLEEP(2), NOW();
SELECT SYSDATE(), SLEEP(2), SYSDATE();

CURDATE(), CURRENT_DATE, CURRENT_DATE()

'YYYY-MM-DD' 또는 'YYYYMMDD' 형식으로 현재 날짜를 리턴합니다.

CURTIME(), CURRENT_TIME, CURRENT_TIME()

'HH:MM:SS' 또는 'HHMMSS.uuuuuu' 형식으로 현재 시간을 리턴합니다.

DATE_FORMAT(date,format)

date로 지정된 날짜른 format에 의해 표시합니다.

기호설명
%aSun, ..., Sat와 같은 요일의 약어 표시
%bJan, ..., Dec와 같은 달이름 약어 표시
%c1 ~ 12 사이의 월 표시
%D1st, 2nd, ... 와 같은 형식의 달의 날짜 표시
%d00, ..., 31 형식의 달의 날짜 표시
%e0, ..., 31 형식의 달의 날짜 표시
%f마이크로초 표시
%H 24시간 형식의 시간 표시(00, ..., 23)
%h, %I12시간 형식의 시간 표시(01, ..., 12 )
%i분 표시(00, ..., 59)
%j년의 날짜 표시(001, ..., 366)
%k24시간 표시(0, ..., 23)
%l12시간 표시(1, ..., 12)
%M달 이름 표시(Jenuary, ..., December)
%m달 순서 표시(00, ..., 12)
%pAM, PM 표시
%r12시간제 표시(HH:MM:SS AM or PM)
%S, %s초 표시(00, ..., 59)
%T24시간제 표시(HH:MM:SS)
%U일요일을 시작으로 년의 몇번째 주인가를 00, ..., 53으로 표시한다.
%u월요일을 시작으로 년의 몇번째 주인가를 00, ..., 53으로 표시한다.
%V%X와 함께 쓰여 일요일을 시작으로 년의 몇번째 주인가를 01, ..., 53으로 표시한다.
%v%x와 함께 쓰여 월요일을 시작으로 년의 몇번째 주인가를 01, ..., 53으로 표시한다.
%W요일명 표시(Sunday, ..., Saturday)
%w요일의 순서를 표시(0=Sunday, ..., 6=Saturday)
%X%V와 함께 쓰이며 일요일을 시작하는 주를 기준으로 YYYY 형태의 년도를 표시한다.
%x%v와 함께 쓰이며 월요일을 시작하는 주를 기준으로 YYYY 형태의 년도를 표시한다.
%YYYYY 형식으로 년도를 표시한다.
%yYY 형식으로 년도를 표시한다.
%%% 문자를 표시한다.

GET_FORMAT({DATE|TIME|DATETIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'})

특정 국가의 형식으로 표시합니다. 메뉴얼을 참고 하세요.

YEAR(date)

'1000'에서 '9999' 사이의 년도를 리턴합니다.

QUARTER(date)

분기를 1 ~4 로 리턴합니다.

MONTH(date)

월을 1 ~ 12 로 리턴합니다.

MONTHNAME(date)

월 이름을 리턴합니다.

WEEK(date[,mode])

요일 순서를 출력합니다. mode가 지정되면 특정 조건에 맞는 값을 리턴합니다.

ModeFirst day of weekRangeWeek 1 is the first week ...
0Sunday0-53with a Sunday in this year
1Monday0-53with more than 3 days this year
2Sunday1-53with a Sunday in this year
3Monday1-53with more than 3 days this year
4Sunday0-53with more than 3 days this year
5Monday0-53with a Monday in this year
6Sunday1-53with more than 3 days this year
7Monday1-53with a Monday in this year

WEEKDAY(date)

요일 순서를 리턴합니다. (0=Sunday, 1=Monday, ..., 6=Saturday)

WEEKOFYEAR(date)

년중 주의 순서를 리턴합니다. WEEK(date, 3)과 동일한 표현입니다.

YEARWEEK(date), YEARWEEK(date,mode)

해당되는 년도 및 주를 리턴합니다. mode는 WEEK() 함수와 동일한 동작을 합니다.

DAYNAME(date)

요일 이름을 리턴합니다.

DAYOFYEAR(date)

년중 날짜를 리턴합니다.

DAY(date), DAYOFMONTH(date)

월중 날짜를 리턴합니다.

DAYOFWEEK(date)

주중 순서를 리턴합니다. (1=Sunday, 2=Monday, ..., 7=Saturday)

LAST_DAY(date)

해당 월의 마지막 날짜를 리턴합니다.

DATE(expr)

date나 datetime 형식에서 date 부분만 리턴합니다.

HOUR(time)

시간을 리턴합니다.

MINUTE(time)

분을 리턴합니다.

SECOND(time)

초를 리턴합니다.

TIME(expr)

time이나 datetime 형식에서 time 부분만 리턴합니다.

MICROSECOND(expr)

마이크로초를 리턴합니다.

PERIOD_ADD(P,N)

P기간에 N달만큼 더한 결과를 YYYYMM 형태로 리턴합니다.

PERIOD_DIFF(P1,P2)

YYMM 이나 YYYYMM 형식의 P1과 P2 사이가 몇 달인지를 리턴합니다.

DATE_ADD(date,INTERVAL expr unit), ADDDATE(date,INTERVAL expr unit), ADDDATE(expr,days)

date로부터 expr만큼 type 단위로 더한 날짜를 리턴합니다.

unitexpr
MICROSECOND마이크로초
SECOND
MINUTE
HOUR시간
DAY날짜
WEEK주차
QUOTER분기
YEAR
SECOND_MICROSECOND'초.마이크로초'
MINUTE_MICROSECOND'분:초.마이크로초'
MINUTE_SECOND'분:초'
HOUR_MICROSECOND'시:분:초.마이크로초'
HOUR_SECOND'시:분:초'
HOUR_MINUTE'시:분'
DAY_MICROSECOND'일 시:분:초.마이크로초'
DAY_SECOND'일 시:분:초'
DAY_MINUTE'일 시:분'
DAY_HOUR'일 시'
YEAR_MONTH'년-월'

DATE_SUB(date,INTERVAL expr unit), SUBDATE(date,INTERVAL expr unit), SUBDATE(expr,days)

date로부터 expr만큼 unit 단위로 뺀 날짜를 리턴합니다.

DATEDIFF(expr1,expr2)

expr1과 expr2 사이의 일 수를 리턴합니다.

TIMEDIFF(expr1,expr2)

expr1과 expr2 사이의 시간을 time 형식으로 리턴합니다.

ADDTIME(expr1,expr2)

date나 datetime 형식의 expr1에 time 형식의 expr1을 더한 time 형식의 값을 리턴합니다.

SUBTIME(expr1,expr2)

date나 datetime 형식의 expr1에 time 형식의 expr1을 뺀 time 형식의 값을 리턴합니다.

TIMESTAMP(expr), TIMESTAMP(expr1,expr2)

date나 datetime 형식의 시간을 datetime 형식으로 리턴합니다. expr2가 주어지면 해당 시간으로 시간을 지정합니다.

TIMESTAMPADD(unit,interval,datetime_expr)

datetime_expr로부터 interval만큼 unit 단위로 더한 시간를 리턴합니다.

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

datetime_expr1과 datetieme_expr2 사이를 unit 단위로 리턴합니다.

TIME_FORMAT(time,format)

time 형식의 시간을 format 형식으로 리턴합니다. format은 DATE_FORMAT() 함수와 동일합니다.

EXTRACT(unit FROM date)

date로부터 unit 형식으로 값을 리턴합니다.

SELECT EXTRACT(YEAR FROM SYSDATE());
SELECT EXTRACT(MONTH FROM SYSDATE());
SELECT EXTRACT(DAY FROM SYSDATE());

FROM_DAYS(N)

0년부터 계산되 날 수로부터 날짜를 리턴합니다.

TO_DAYS(date)

date를 기준으로 0년부터 계산된 날 수를 리턴합니다. 그레고리력을 따르지 않습니다.

SEC_TO_TIME(seconds)

초를 time 형식으로 리턴합니다.

TIME_TO_SEC(time)

time 형식의 시간을 초로 리턴합니다.

STR_TO_DATE(str,format)

문자열str을 format 형식의 시간으로 리턴합니다. format문자열은 DATE_FORMAT() 과 동일합니다.

MAKEDATE(year,dayofyear)

year와 day-of-year 값으로 date 형식(YYYY-MM-DD)의 날짜를 리턴합니다.

MAKETIME(hour,minute,second)

hour, minute, second 값으로 time 형식(HH:MM:SS)의 시간을 리턴합니다.

CONVERT_TZ(dt,from_tz,to_tz)

시간대 변경 함수.

FROM_UNIXTIME(unix_timestamp), FROM_UNIXTIME(unix_timestamp,format)

유닉스 타입의 시간을 리턴합니다.

UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)

유닉스 시간 ('1970-01-01 00:00:00' 기준)을 리턴합니다. date가 주어지면 date의 유닉스 시간을 리턴합니다.

UTC_DATE, UTC_DATE()

UTC 시간을 리턴합니다.

UTC_TIME, UTC_TIME()

UTC 시간을 리턴합니다.

UTC_TIMESTAMP, UTC_TIMESTAMP()

UTC 시간을 리턴합니다.

반응형

'연구개발 > MYSQL' 카테고리의 다른 글

날짜 변환 문제  (0) 2013.01.11
데이터 추가 및 삭제, 변경 명령  (0) 2013.01.11
MySQL 함수 - 수학 함수  (0) 2013.01.11
MySQL 함수 - 문자열 관련 함수들  (0) 2013.01.11
기본적인 질의문(SELECT)  (0) 2013.01.11

+ Recent posts