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 |