본문으로 바로가기

MySQL 함수들(3)

category 데이터베이스/MySQL 2019. 1. 2. 17:47

MySQL 날짜 함수들..

Function Description
ADDDATE Adds a time/date interval to a date and then returns the date
ADDTIME Adds a time interval to a time/datetime and then returns the time/datetime
CURDATE Returns the current date
CURRENT_DATE Returns the current date
CURRENT_TIME Returns the current time
CURRENT_TIMESTAMP Returns the current date and time
CURTIME Returns the current time
DATE Extracts the date part from a datetime expression
DATEDIFF Returns the number of days between two date values
DATE_ADD Adds a time/date interval to a date and then returns the date
DATE_FORMAT Formats a date
DATE_SUB Subtracts a time/date interval from a date and then returns the date
DAY Returns the day of the month for a given date
DAYNAME Returns the weekday name for a given date
DAYOFMONTH Returns the day of the month for a given date
DAYOFWEEK Returns the weekday index for a given date
DAYOFYEAR Returns the day of the year for a given date
EXTRACT Extracts a part from a given date
FROM_DAYS Returns a date from a numeric datevalue
HOUR Returns the hour part for a given date
LAST_DAY Extracts the last day of the month for a given date
LOCALTIME Returns the current date and time
LOCALTIMESTAMP Returns the current date and time
MAKEDATE Creates and returns a date based on a year and a number of days value
MAKETIME Creates and returns a time based on an hour, minute, and second value
MICROSECOND Returns the microsecond part of a time/datetime
MINUTE Returns the minute part of a time/datetime
MONTH Returns the month part for a given date
MONTHNAME Returns the name of the month for a given date
NOW Returns the current date and time
PERIOD_ADD Adds a specified number of months to a period
PERIOD_DIFF Returns the difference between two periods
QUARTER Returns the quarter of the year for a given date value
SECOND Returns the seconds part of a time/datetime
SEC_TO_TIME Returns a time value based on the specified seconds
STR_TO_DATE Returns a date based on a string and a format
SUBDATE Subtracts a time/date interval from a date and then returns the date
SUBTIME Subtracts a time interval from a datetime and then returns the time/datetime
SYSDATE Returns the current date and time
TIME Extracts the time part from a given time/datetime
TIME_FORMAT Formats a time by a specified format
TIME_TO_SEC Converts a time value into seconds
TIMEDIFF Returns the difference between two time/datetime expressions
TIMESTAMP Returns a datetime value based on a date or datetime value
TO_DAYS Returns the number of days between a date and date "0000-00-00"
WEEK Returns the week number for a given date
WEEKDAY Returns the weekday number for a given date
WEEKOFYEAR Returns the week number for a given date
YEAR Returns the year part for a given date
YEARWEEK Returns the year and week number for a given date

 

ADDDATE()=DATE_ADD() 함수는 해당 날짜에 일 수를 더한 날짜를 반환합니다.

 

SELECT ADDDATE("2019-01-02", INTERVAL 10 DAY);

 

이 구문은 2019년 1월 2일에서 10일을 더한 후 날짜인 2019-01-12를 반환합니다.

 

DATE_SUB() 함수는 위 함수와 반대로 날짜에 일 수를 빼줍니다.

 

ADDTIME() 함수는 해당 time을 추가한 후 datetime을 반환합니다.

 

SELECT ADDTIME("2019-01-02 09:34:21","2");

 

2019-01-02 09:34:23 이 반환 됩니다.

 

 

CURDATE()=CURRRENT_DATE() 함수는 현재 날짜를 반환해줍니다.

 

SELECT CURDATE();

 

이 구문은 2019-01-02를 반환해줍니다.

 

CURRENT_TIME() 함수는 현재 시간을 반환 해줍니다.

 

CURRENT_TIMESTAMP() 하수는 현재 날짜와 시간을 같이 출력해줍니다.

 

 

DATE() 함수는 날짜를 부분 추출합니다.

 

DATEDIFF() 함수는 두 날짜 사이의 일 수를 반환 합니다.

 

SELECT DATEDIFF("2019-01-02","2019-01-01");

 

이 구문은 하루차이 이므로 1을 반환합니다.

 

 

DATE_FORMAT() 함수는 지정된 날짜 형식을 추출합니다.

 

FORMAT으로 아래와 같은 것들이 있습니다.

Format Description
%a Abbreviated weekday name (Sun to Sat)
%b Abbreviated month name (Jan to Dec)
%c Numeric month name (0 to 12)
%D Day of the month as a numeric value, followed by suffix (1st, 2nd, 3rd, ...)
%d Day of the month as a numeric value (01 to 31)
%e Day of the month as a numeric value (0 to 31)
%f Microseconds (000000 to 999999)
%H Hour (00 to 23)
%h Hour (00 to 12)
%I Hour (00 to 12)
%i Minutes (00 to 59)
%j Day of the year (001 to 366)
%k Hour (0 to 23)
%l Hour (1 to 12)
%M Month name in full (January to December)
%m Month name as a numeric value (00 to 12)
%p AM or PM
%r Time in 12 hour AM or PM format (hh:mm:ss AM/PM)
%S Seconds (00 to 59)
%s Seconds (00 to 59)
%T Time in 24 hour format (hh:mm:ss)
%U Week where Sunday is the first day of the week (00 to 53)
%u Week where Monday is the first day of the week (00 to 53)
%V Week where Sunday is the first day of the week (01 to 53). Used with %X
%v Week where Monday is the first day of the week (01 to 53). Used with %X
%W Weekday name in full (Sunday to Saturday)
%w Day of the week where Sunday=0 and Saturday=6
%X Year for the week where Sunday is the first day of the week. Used with %V
%x Year for the week where Monday is the first day of the week. Used with %V
%Y Year as a numeric, 4-digit value
%y Year as a numeric, 2-digit value

SELECT DATE_FORMAT("2019-01-02","%Y");

 

이 구문은 년도를 뽑아주므로 2019를 추출합니다.

 

 

DAY()=DAYOFMONTH() 함수는 달의 날짜를 반환 해줍니다. 즉 일수를 반환해주는 거죠

 

SELECT DAY("2019-01-02");

 

이 구문은 2를 반환합니다.

 

DAYNAME() 함수는 요일을 반환합니다.

 

SELECT DAYNAME("2019-01-02");

 

이 구문은 2019년 1월 2일의 요일인 Wendsday를 추출합니다.

 

DAYOFWEEK() 함수는 주어진 날짜에 대한 요일 인덱스를 반환해요.

 

예를 들어서 1=일요일 2=월요일 ... 7=토요일

 

SELECT DAYOFWEEK("2019-01-02");

 

이 구문은 그럼 수요일이므로 4를 반환하겠죠 ??

 

 

EXTRACT() 함수는 날짜에서 해당 달을 추출합니다.

 

SELECT EXTRACT(MONTH FROM "2019-01-02");

 

이 구문은 2019년 1월 2일에서 달을 추출하므로 1을 추출합니다.

 

FROM_DAYS() 함수는 어려울 수도 있지만 숫자로 된 날짜 값을 반환을 합니다. 그레고리라는 달력에서 사용됩니다.

 

SELECT FROM_DAYS(685467);

 

이 구문은 1876년 9월 29일을 추출합니다.

 

HOUR() 함수는 시간을 반환합니다.

 

 

SELECT HOUR("2019-01-02 09:34:00");

 

이 구문은 9시이므로 9를 반환합니다.

 

MINUTE() 함수는 분을 반환합니다.

 

MONTH() 함수는 달을 반환합니다.

 

SECOND() 함수는 초를 반환합니다.

 

 

LAST_DAY() 함수는 해당 월의 마지막 날을 추출합니다.

 

SELECT LAST_DAY("2017-06-15");

 

이 구문은 6월의 마지막 날인 2017-06-30을 반환합니다.

 

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

 

 

MAKEDATE() 함수는 연도와 일 수를 기준으로 날짜를 만들고 반환합니다.

 

MAKEDATE(year,day) 형식이며

 

SELECT MAKEDATE(2017,100);

 

이 구문은 2017-04-10을 반환합니다.

 

MAKETIME() 함수는 시 분 초 매개변수로 시 분 초 형식으로 만듭니다.

 

SELECT MAKETIME(11,35,4);

 

이 구문은 11:35:04 를 반환합니다.

 

PERIOD_ADD() 함수는 지정된 기간에 개월 수를 추가합니다.

 

SELECT PERIOD_ADD(201901,5);

 

이구문은 201901에 5개월을 추가한 201906을 반환합니다.

 

NOW() 함수도 많이 쓰이고 현재 년 월일 시간을 출력해줍니다.

 

PERIOD_DIFF() 함수는 두 기간의 차이를 반환합니다.

 

SELECT PERIOD_DIFF(201710,201703);

 

즉 10월에서 3월 차이 이므로 7을 반환합니다.

 

QUATER() 함수는 날짜의 분기를 반환합니다.

 

1월~3월: 1

4월~6월: 2

7월~9월: 3

10월~12월:4

 

SELECT QUATER("2017-06-15");

 

이구문은 6월이므로 2를 반환합니다.

 

STR_TO_DATE() 함수는 지정된 년 월 일을 FORMAT의 형태에 맞게 출력해줍니다.

 

SELECT STR_TO_DATE("Augest 10 2017","%M %d %Y");

 

이 구문은 달 일 년 으로 출력하게 합니다. 따라서 2017-08-10 으로 출ㄹ력해줍니다.

 

 

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

 

 

다음 포스팅으로 고급 기능을 하는 함수에 대해서 알아보도록 하겠습니다.

 

감사합니다.

 

 

 

'데이터베이스 > MySQL' 카테고리의 다른 글

서브쿼리  (0) 2019.01.09
MySQL 함수들(2)  (0) 2019.01.01
MySQL 함수들(1)  (0) 2018.12.29
MySQL 데이터베이스  (0) 2018.12.28
MySQL 저장 프로시저  (0) 2018.12.27