====== MySQL Date Functions ======
* http://www.nazuni.pe.kr/web/dev/mysql/functions_datetime.php
===== DATETIME 타입 =====
* MySQL 5.6 부터 ''DATETIME'' 타입에 대해 ''DEFAULT CURRENT_TIMESTAMP''가 가능해졌다. 그 이하는 오류가 발생한다.
`createdAt` datetime DEFAULT CURRENT_TIMESTAMP 가 있을 때,
ERROR 1067 (42000): Invalid default value for 'createdAt'
===== date =====
* 날짜/시간 값에서 날짜값만 남기기
* 예 :
select DATE(now()); -- 현재 날짜를 구함
===== date_add/adddate, date_sub/subdate =====
* 날짜에 특정 값을 더하거나(add) 빼기(sub)
DATE_ADD(date,INTERVAL expr type)
* 예 :
SELECT DATE_ADD(order_date,INTERVAL 45 DAY) from some_table;
* 기준 타입
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH
===== str_to_date/date_format =====
* 문자열을 DATETIME 으로 변경
STR_TO_DATE(str,format)
* DATETIME을 문자열로 변경
DATE_FORMAT(date, format)
* 예 :
SELECT DATE_FORMAT(now(),'%Y-%m-%d'); -- 2012-12-27
SELECT STR_TO_DATE('2012-12-27 14:21:31','%Y-%m-%d %H:%i:%s');
* Format
Specifier Description
%a Abbreviated weekday name (Sun..Sat)
%b Abbreviated month name (Jan..Dec)
%c Month, numeric (0..12)
%D Day of the month with English suffix (0th, 1st, 2nd, 3rd, )
%d Day of the month, numeric (00..31)
%e Day of the month, numeric (0..31)
%f Microseconds (000000..999999)
%H Hour (00..23)
%h Hour (01..12)
%I Hour (01..12)
%i Minutes, numeric (00..59)
%j Day of year (001..366)
%k Hour (0..23)
%l Hour (1..12)
%M Month name (January..December)
%m Month, numeric (00..12)
%p AM or PM
%r Time, 12-hour (hh:mm:ss followed by AM or PM)
%S Seconds (00..59)
%s Seconds (00..59)
%T Time, 24-hour (hh:mm:ss)
%U Week (00..53), where Sunday is the first day of the week
%u Week (00..53), where Monday is the first day of the week
%V Week (01..53), where Sunday is the first day of the week; used with %X
%v Week (01..53), where Monday is the first day of the week; used with %x
%W Weekday name (Sunday..Saturday)
%w Day of the week (0=Sunday..6=Saturday)
%X Year for the week where Sunday is the first day of the week, numeric, four digits; used with %V
%x Year for the week, where Monday is the first day of the week, numeric, four digits; used with %v
%Y Year, numeric, four digits
%y Year, numeric (two digits)
%% A literal '%' character
%x x, for any 'x' not listed above