MySQL

MySQL_내장함수_날짜 및 시간 함수

ssmm95 2024. 9. 11. 11:40

날짜 및 시간 함수

 

- ADDDATE(날짜, 차이), SUBDATE(날짜, 차이) : 날짜를 기준으로 차이를 더하거나 뺀 날짜를 구함

예)

1. SELECT ADDDATE('2025-01-01', INTERVAL 31 DAY),ADDDATE('2025-02-01', INTERVAL 1 MONTH);

 

2. SELECT SUBDATE('2025-01-01', INTERVAL 31 DAY) , SUBDATE('2025-01-01', INTERVAL 1 MONTH);

 

 

- ADDTIME (날짜/시간, 시간) , SUBTIME (날짜/시간, 시간) : 날짜/시간을 기준으로 시간을 더하거나 뺀 결과 

예)

1. SELECT ADDTIME ('2025-01-01 23:59:59', '1:1:1'), ADDTIME ('15:00:00' , '2:10:10') ;

 

2. SELECT SUBTIME  ('2025-01-01 23:59:59', '1:1:1'), SUBTIME ('15:00:00' , '2:10:10') ;

 

-CURDATE(), CURTIME(). NOW(), SYSDATE() :

CURDATE()는 현재 'YYYY-MM-DD', CURTIME()는 현재 'HH:MM:SS' 구함

NOW() 와 SYSDATE()는 현재  'YYYY-MM-DD HH:MM:SS' 를 구함

 

-YEAR(날짜), MONTH (날짜), DAY (날짜), HOUR (날짜), MINUTER (시간), SECOND (시간), MICROSECOND (시간)

날짜 또는 시간에서 년, 월, 일, 시 ,분 ,초, 밀리초 구함

예) 

1.SELECT YEAR(CURTIME()), MONTH(CURDATE()), DAYOFMONTH(CURDATE());

2. SELECT HOUR(CURTIME()), MINUTE(CURIME()), SECOND(CURTIME()), MICROSECOND(CURTIME());

 

- DATE(), TIME() : DATETIME 형식에서 년-월-일 및 시:분:초 만 추출함

예) SELECT DATE(NOW()), TIME(NOW());

 

- DATEIFF(날짜1, 날짜2), TIMEDIFF(날짜1 또는 시간 1, 날짜1 또는 시간 2) :

두 날짜 사이의 일 수를 구함

DATEDIFF()는 날짜1-날짜2의 일수를 결과로 구함 즉, 날짜2에서 날짜1까지 며 칠 남았는지 구함

TIMEDIFF()는 시간1-시간2의 결과를 구함

SELECT DATEDIFF('2025-01-01', NOW()), TIMEDIFF('23:23:59' , '12:11:10');

--결과는 2025년 1월 1일에서 오늘의 날짜를 뺀 일자와 11:12:49 반환

 

-DAYOFWEEK(날짜), MONTHNAME(), DAYOFYEAR(날짜) : 요일(1 : 일 , 2 : 월 ~ 7 : 토) 중 1녕 중 몇 번째 날짜인지를 구함

예) SELECT DAYOFWEEK(CURDATE()), MONTHNAME(CURDATE()), DAYOFYEAR(CURDATE());

현재 요일과 월 이름 그리고 일년 중 며 칠이 지났는지 반환

 

- LAST_DAT(날짜) : 주어진 날짜의 마지막 날짜를 구함, 주로 그 달이 며칠까지 있는지 확인할 때 사용

예) SELECT LAST_DAY ('2025-02-01'); 

-- 결과는 '2025-02-29' 

 

- MAKEDATE(연도, 정수) : 연도에서 정수만큼 지난 날짜를 구함

예) SELECT MAKEDATE(2025, 32) ;

--결과는 2025년의 32일이 지난 날짜인 '2025-02-01'

 

- MAKETIME(시,분.초) : 시, 분, 초 이용해서 '시:분:초' 의 TIME 형식을 만들어줌

예) SELECT MAKETIME(12, 11, 10) ; 

 

- PERIOD_ADD(연원, 개월수), PERIOD_DIFF(연월1, 연월2) :

PERIOD_ADD()는 연월에서 개월만큼의 개월이 지난 연월을 구함. 연월은 YYYY 또는 YYYYMM 형식 사용

PERIOD_DIFF()는 연월1 - 연월2의 개월수를 구함

예) SELECT PERIOD_ADD(202501, 11) , PERIOD_DIFF(202501, 202312);

 

- QUARTER(날짜) : 날짜가 4분기 중에서 몇 분기인지를 구함

예) SELECT QUARTER('2025-07-07');

 

-TIME_TO_SEC(시간) : 시간을 초 단위로 구함

예) SELECT TIME_TO_SEC('12:11:10');

 

- EXTRACT(출력할 년,월,일 중 하나 FROM 'YYYY-MM-DD') 

SELECT EXTRACT(YEAR FROM '2024-09-11');

 

'MySQL' 카테고리의 다른 글

MySQL_Windows Powershell(관리자) DB용량 늘리기  (0) 2024.09.11
MySQL_내장함수_시스템 정보 함수  (0) 2024.09.11
MySQL_내장함수_수학함수  (0) 2024.09.11
MySQL_SQL 실행 단축키  (0) 2024.09.10
MySQL_문자열 함수  (0) 2024.09.10