본문 바로가기

Mysql/Mysql 기초

mysql 기초 날짜 함수

반응형

 날짜함수

 now, sysdate(), current_timestamp()

현재 날짜와 시간을 반환한다


 curdate(), current_date()

현재 날짜를 반환한다


 curtime(), current_time()

현재 시간을 반환한다


 date_add(날짜, INTERVAL 기준값)

 (YEAR, MONTH, DAY, HOUR, MINUTE, SECOND) 

날짜에서 기준값 만큼 더한다


 date_sub(날짜, INTERVAL 기준값)

(YEAR, MONTH, DAY, HOUR, MINUTE, SECOND 

날짜에서 기준값 만큼 뺀다
 
 YEAR(날짜) : 날짜의 연도를 가져온다
 MONTH(날짜) : 날짜의 월을 가져온다.
 MONTHNAME(날짜) : 날짜의 월을 영어로 가져온다.
 DAYNAME(날짜) :날짜의 요일을 영어로 가져온다
 DAYOFMONTH(날짜): 날짜의 월별 일자를 가져온다
 DAYOFWEEK(날짜) : 날짜의 주별 일자를 가져온다 . 일요일 1 월요일 2 화요일 3 ...
 WEEKDAY(날짜) : 날짜의 주별 일자를 가져온다  월요일 0 화요일 1 수요일 2 ....
 DAYOFYEAR(날짜) :일년을 기준으로 한 날짜까지의 날 수 
 WEEK(날짜) :일년중 몇번쨰 주
 FROM_DAYS(날 수) 00년 00월 00일 부터 날 수 만큼 지난 날짜 
 TO_DAYS(날짜) : 00년 00월 00일 부터 날짜까지의 일 
 DATE_FORMAT(날짜, 형식) : 날짜를 형식에 맞게 만들어 반환한다.

 


 년도: %Y(4자리), %y(2자리)


 %M(긴 월이름), %m(숫자의 월, 01, 02, 03), %b(짧은 월 이름), %c(숫자의 월, 1, 2, 3...) 


 요일 : %W(긴 요일), %a(짧은 요일), %w(0 일요일, 1 월요일)


  : %D(1th, 2th, 3th), %d(01, 02, 03, 04) %e(1, 2, 3..) %j(일년중 날짜, 001,002,003,004)


   %l(12시간제, 1, 2, 3..) %k(24시간제, 0, 1, 2,3), %h(12시간제, 01, 02, 03), %H(24시간제, 00, 01, 02, 03)  %i(12시간제, 01, 02, 03)


  %i(00, 01, ..) 


  : %S(00, 01, 02), %s(0, 1, 2, 3)


 시간 : %r(12시간제 시간), %T(24시간제 시간)


  : %U(일요일을 기준으로 계산한 주), %u(월요일을 기준으로 계산한 주)


 오전/오후 %p(AM/PM)

 

 

-- 날짜함수
-- now, sysdate(), current_timestamp(): 현재 날짜와 시간을 반환한다
-- curdate(), current_date(): 현재 날짜를 반환한다
-- curtime(), current_time(): 현재 시간을 반환한다.

-- date_add(날짜, INTERVAL 기준값): 날짜에서 기준값 만큼 더한다
-- (YEAR, MONTH, DAY, HOUR, MINUTE, SECOND) 

-- date_sub(날짜, INTERVAL 기준값): 날짜에서 기준값 만큼 뺀다
-- (YEAR, MONTH, DAY, HOUR, MINUTE, SECOND)

-- YEAR(날짜) : 날짜의 연도를 가져온다
-- MONTH(날짜) : 날짜의 월을 가져온다.
-- MONTHNAME(날짜) : 날짜의 월을 영어로 가져온다.
-- DAYNAME(날짜): 날짜의 요일을 영어로 가져온다
-- DAYOFMONTH(날짜): 날짜의 월별 일자를 가져온다
-- DAYOFWEEK(날짜) : 날짜의 주별 일자를 가져온다 . 일요일 1 월요일 2 화요일 3 ...
-- WEEKDAY(날짜) : 날짜의 주별 일자를 가져온다  월요일 0 화요일 1 수요일 2 ....
-- DAYOFYEAR(날짜) 일년을 기준으로 한 날짜까지의 날 수 
-- WEEK(날짜) 일년중 몇번쨰 주
-- FROM_DAYS(날 수) 00년 00월 00일 부터 날 수 만큼 지난 날짜 
-- TO_DAYS(날짜) : 00년 00월 00일 부터 날짜까지의 일 수

-- DATE_FORMAT(날짜, 형식) : 날짜를 형식에 맞게 만들어 반환한다.
-- 년도: %Y(4자리), %y(2자리)
-- 월: %M(긴 월이름), %m(숫자의 월, 01, 02, 03), %b(짧은 월 이름), %c(숫자의 월, 1, 2, 3...)

-- 요일 : %W(긴 요일), %a(짧은 요일), %w(0 일요일, 1 월요일)
-- 일 : %D(1th, 2th, 3th), %d(01, 02, 03, 04) %e(1, 2, 3..) %j(일년중 날짜, 001,002,003,004)
-- 시 ㅣ %l(12시간제, 1, 2, 3..) %k(24시간제, 0, 1, 2,3), %h(12시간제, 01, 02, 03), %H(24시간제, 00, 01, 02, 03)
-- %l(12시간제, 01, 02, 03)
-- 분 %i(00, 01, ..) 
-- 포 : %S(00, 01, 02), %s(0, 1, 2, 3)
-- 시간 : %r(12시간제 시간), %T(24시간제 시간)
-- 주 %U(일요일을 기준으로 계산한 주), %u(월요일을 기준으로 계산한 주)
-- 오전/오후 %p(AM/PM)

-- 현재 날짜와 시간  
select now();
select sysdate();
select current_timestamp();

-- 현재 날짜 
select curdate();
select current_date();

-- 현재 시각
select curtime();
select current_time();

-- 날짜 더하기
select now(), date_add(now(), interval 100 day);

select hire_date, date_add(hire_date, interval 100 day)
from employees;

-- 날짜 뺴기 
select now(), date_sub(now(), interval 100 day);

select hire_date , date_sub(hire_date, interval 100 day)
from employees;

-- 날짜
select now(), year(now());
select now(), month(now());
select now(), monthname(now());
select now(), dayname(now());
select now(), dayofweek(now());
select now(), weekday(now());
select now(), dayofyear(now());
select now(), week(now());
select from_days(1000); -- 00년 00월 00일로부터 1000일 이후
select to_days(now()); -- 00년 00월 00일부터 now까지 몇일

-- 포맷
select now(), date_format(now(), '%Y년 %m월 %d일 %H시 %i분 %S초');

반응형

'Mysql > Mysql 기초' 카테고리의 다른 글

mysql join  (0) 2020.07.09
mysql 그룹함수  (0) 2020.07.09
mysql 문자열함수  (0) 2020.07.09
mysql 숫자 함수  (0) 2020.07.09
mysql 기초 정렬하기(Order)  (0) 2020.07.09