데이타베이스/MySQL

MySQL 날짜 및 시간 함수 완벽 가이드

shimdh 2025. 5. 2. 06:58
728x90

MySQL에서 날짜 및 시간 함수는 데이터베이스의 날짜와 시간을 조작하고 분석하는 데 필수적인 도구입니다. 이 블로그 포스트에서는 MySQL의 주요 날짜 및 시간 함수에 대해 자세히 살펴보고, 이를 활용하여 데이터베이스 관리와 분석을 어떻게 효율적으로 수행할 수 있는지에 대한 통찰을 제공합니다.

날짜 및 시간 함수의 중요성

데이터베이스 관리자는 시간과 날짜와 관련된 데이터를 보다 효율적으로 처리하고, 필요한 정보를 신속하게 추출할 수 있어야 합니다. MySQL의 날짜 및 시간 함수는 이러한 작업을 간편하게 만들어 주며, 비즈니스 인사이트를 도출하는 데 큰 도움이 됩니다.

1. 주요 날짜 및 시간 함수

NOW()

  • 설명: 현재의 날짜와 시간을 반환합니다.
  • 사용 예:
    SELECT NOW();

CURDATE()

  • 설명: 현재의 날짜만 반환합니다.
  • 사용 예:
    SELECT CURDATE();

CURTIME()

  • 설명: 현재의 시간만 반환합니다.
  • 사용 예:
    SELECT CURTIME();

DATEDIFF(date1, date2)

  • 설명: 두 날짜 간의 차이를 일수로 반환합니다.
  • 사용 예:
    SELECT DATEDIFF('2023-10-01', '2023-09-25') AS DaysDifference;
    • 결과: 6 (두 날짜 간의 차이)

DATE_ADD(date, INTERVAL expr unit)

  • 설명: 지정된 기간을 더한 새로운 날짜를 생성합니다.
  • 사용 예:
    SELECT DATE_ADD(CURDATE(), INTERVAL 7 DAY) AS NextWeek;

DATE_SUB(date, INTERVAL expr unit)

  • 설명: 지정된 기간을 뺀 새로운 날짜를 생성합니다.
  • 사용 예:
    SELECT DATE_SUB(CURDATE(), INTERVAL 30 DAY) AS LastMonth;

2. 형식화된 출력

DATE_FORMAT()

  • 설명: 날짜를 특정 형식으로 표시할 수 있게 해주는 함수입니다.
  • 사용 예:
    SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS FormattedDateTime;

3. 타임스탬프 관련 함수

UNIX_TIMESTAMP()

  • 설명: 현재 시간을 UNIX 타임스탬프로 변환하여 정수형으로 반환합니다.
  • 사용 예:
    SELECT UNIX_TIMESTAMP();

FROM_UNIXTIME(unix_timestamp)

  • 설명: UNIX 타임스탬프를 일반적인 DATETIME 포맷으로 변환합니다.
  • 사용 예:
    SELECT FROM_UNIXTIME(1633036800);

실습 예제

고객 데이터를 관리하는 예제를 통해 날짜 및 시간 함수를 활용하는 방법을 살펴보겠습니다. 고객 테이블(customers)이 있다고 가정해 보겠습니다.

id name created_at
1 홍길동 '2023-01-15'
2 김철수 '2023-02-20'

고객들이 언제 가입했는지 확인하기 위해 다음과 같은 쿼리를 작성할 수 있습니다:

SELECT name,
       DATEDIFF(CURDATE(), created_at) AS DaysSinceJoined 
FROM customers;

이 쿼리를 통해 각 고객이 가입한 지 얼마나 되었는지를 알 수 있으며, 이를 통해 마케팅 전략이나 고객 관리 방안을 세울 수 있는 기초 자료가 될 것입니다.

결론

MySQL에서 제공하는 다양한 날짜 및 시간 함수들은 데이터베이스 내에서 중요한 역할을 하며, 효과적인 데이터 관리를 가능하게 합니다. 이러한 기능들을 잘 활용하면 비즈니스 인사이트 도출에 큰 도움이 될 것입니다. 데이터 분석과 관리의 효율성을 높이기 위해 이러한 함수들을 적극적으로 활용하는 것이 중요합니다.

728x90