날짜 시간 함수

선봉·2023년 2월 17일
0

MySQL

목록 보기
12/36
함수기능
DATE()연-월-일
TIME()시:분:초
CURDATE()현재 연-월-일
CURTIME()현재 시:분:초
NOW(), SYSDATE()현재 연-월-일 시:분:초
YEAR(날짜)
MONTH(날짜)
DAY(날짜), DAYOFMONTH(날짜)
HOUR(시간)
MINUTE(시간)
SECOND(시간)
MICROSECOND(시간)밀리초

LAST_DAY()

날짜의 마지막 날짜를 구한다.

SELECT LAST_DAY(CURDATE()); -- 결과 2023-02-28 현재 2월의 마지막 날 반환

DATEDIFF(날짜1, 날짜2)

날짜1에서 2를 뺀 결과 반환

SELECT DATEDIFF('2023-04-21',NOW()) AS '생일까지 남은 일수';
-- 결과 63

TIMEDIFF(시간1, 시간2)

시간1에서 시간2를 뺀 값 반환

SELECT TIMEDIFF('22:00:00', TIME(NOW())) AS '10시까지 남은시간';
-- 결과 '02:39:58'

PERIOD_ADD(YYYYMM, MM)

YYYYMM에서 MM만큼 지난 연월을 구한다.

PERIOD_DIFF(YYYYMM, YYYYMM)

첫번째 연월에서 두번째 연월을 뺀 개월수를 구한다.


MAKEDATE(연, 일)

연도에서 일수만큼 지난 날짜를 반환

SELECT MAKEDATE(2023,100); -- 결과 '2023-04-10'
-- 2023년에 100일 지난 날짜가 4.10 

MAKETIME(시,분,초)

시 분 초를 '시:분:초' 형태로 만든다.

SELECT MAKETIME(13,30,00); -- 결과 '13:30:00'

DAYOFWEEK()

1(일요일)~7(토요일) 날짜를 숫자로 나타냄

MONTHNAME()

날짜의 요일을 반환

DAYOFYEAR()

연중 몇 일이 지났는지 반환

SELECT DAYOFWEEK(CURDATE()); -- 결과 6
SELECT	MONTHNAME(CURDATE()); -- 결과 'February'
SELECT DAYOFYEAR(CURDATE()); -- 결과 48

ADDDATE(날짜, 값)

날짜를 기준으로 값만큼 더한 날짜 반환

SELECT ADDDATE('2023-02-17',31);			  -- 결과'2023-03-20'
SELECT ADDDATE('2023-02-17',INTERVAL 31 DAY); -- 결과'2023-03-20'
SELECT ADDDATE('2023-02-17',INTERVAL 1 MONTH);-- 결과'2023-03-17'
SELECT ADDDATE('2023-02-17',INTERVAL 1 YEAR); -- 결과'2024-02-17'

ADDTIME(날짜/시간, 시간)

날짜/시간을 기준으로 시간을 더한다.


SUBDATE(날짜, 차이)

날짜를 기준으로 값만큼 뺀 날짜 반환

SELECT SUBDATE('2023-02-17',31);			  -- 결과'2023-01-17'
SELECT SUBDATE('2023-02-17',INTERVAL 31 DAY); -- 결과'2023-01-17'
SELECT SUBDATE('2023-02-17',INTERVAL 1 MONTH);-- 결과'2023-01-17'
SELECT SUBDATE('2023-02-17',INTERVAL 1 YEAR); -- 결과'2022-02-17'

SUBTIME(날짜/시간, 시간)

날짜/시간을 기준으로 시간을 뺀다.


QUARTER()

4분기 중 몇 분기인지 구한다.

SELECT QUARTER(CURDATE()); -- 결과 1 (현재 2월이다.)

TIME_TO_SEC('HH:MM:SS')

시간을 초 단위로 구한다.

SELECT TIME_TO_SEC('12:00:00'); -- 결과 43200
profile
백엔드 개발자

0개의 댓글

관련 채용 정보