MySQL 시간 자료형 관련 함수

Ziggy Stardust·2024년 10월 20일
0

이 함수들은 DATETIME, TIMESTAMP, DATE, TIME 등의 자료형을 다룰 때 유용합니다.

날짜 차이 계산

DATEDIFF(date1, date2): 두 날짜 사이의 차이를 일(day) 단위로 반환합니다.

SELECT DATEDIFF('2024-10-10', '2024-10-01'); -- 결과: 9

TIMESTAMPDIFF(unit, datetime1, datetime2): 두 날짜/시간 사이의 차이를 지정된 단위(초, 분, 시간, 일 등)로 반환합니다.

SELECT TIMESTAMPDIFF(HOUR, '2024-10-01 12:00:00', '2024-10-02 15:00:00'); -- 결과: 27

시간 추출

HOUR(time): 시간에서 시(hour) 값을 추출합니다.

SELECT HOUR('12:30:00'); -- 결과: 12

MINUTE(time): 시간에서 분(minute) 값을 추출합니다.

SELECT MINUTE('12:30:00'); -- 결과: 30

SECOND(time): 시간에서 초(second) 값을 추출합니다.

SELECT SECOND('12:30:45'); -- 결과: 45

DATE(datetime): DATETIME 또는 TIMESTAMP 자료형에서 날짜(연도, 월, 일)를 추출합니다.

SELECT DATE('2024-10-10 12:30:45'); -- 결과: 2024-10-10

YEAR(datetime): 연도를 추출합니다.

SELECT YEAR('2024-10-10'); -- 결과: 2024

MONTH(datetime): 월을 추출합니다.

SELECT MONTH('2024-10-10'); -- 결과: 10

DAY(datetime): 일을 추출합니다.

SELECT DAY('2024-10-10'); -- 결과: 10

DAYOFWEEK(datetime): 요일을 추출합니다. 일요일은 1, 토요일은 7로 반환합니다.

SELECT DAYOFWEEK('2024-10-10'); -- 결과: 5 (목요일)

날짜/시간 더하기 및 빼기

DATE_ADD(date, INTERVAL value unit): 날짜에 특정 시간 간격을 더합니다.

SELECT DATE_ADD('2024-10-10', INTERVAL 5 DAY); -- 결과: 2024-10-15

DATE_SUB(date, INTERVAL value unit): 날짜에서 특정 시간 간격을 뺍니다.

SELECT DATE_SUB('2024-10-10', INTERVAL 5 DAY); -- 결과: 2024-10-05

ADDTIME(time, expr): 시간을 더합니다.

SELECT ADDTIME('12:00:00', '01:30:00'); -- 결과: 13:30:00

SUBTIME(time, expr): 시간을 뺍니다.

SELECT SUBTIME('12:00:00', '01:30:00'); -- 결과: 10:30:00

현재 시간과 날짜

NOW(): 현재 날짜와 시간을 반환합니다.

SELECT NOW(); -- 결과: 2024-10-10 12:30:45 (현재 시간)

CURDATE(): 현재 날짜를 반환합니다.

SELECT CURDATE(); -- 결과: 2024-10-10

CURTIME(): 현재 시간을 반환합니다.

SELECT CURTIME(); -- 결과: 12:30:45

UTC_TIMESTAMP(): UTC 기준으로 현재 시간을 반환합니다.

SELECT UTC_TIMESTAMP(); -- 결과: 2024-10-10 03:30:45 (UTC 기준)

기타 유용한 함수

STR_TO_DATE(string, format): 문자열을 날짜로 변환합니다.

SELECT STR_TO_DATE('10-10-2024', '%d-%m-%Y'); -- 결과: 2024-10-10

DATE_FORMAT(date, format): 날짜를 특정 형식으로 변환합니다.

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'); -- 결과: 2024-10-10 12:30:45
profile
spider from mars

0개의 댓글