본문 바로가기
MySQL(MariaDB)

MySQL의 날짜 관련 쿼리

by 코딩박사 2025. 6. 26.
반응형

MySQL에서 날짜와 관련된 다양한 샘플은 데이터 처리, 조회, 비교, 포맷 변경 등에 매우 유용합니다. 아래는 다양한 범주의 날짜 관련 MySQL 쿼리 샘플입니다.

날짜 및 시간 함수 기본

기능 쿼리 예시 설명
현재 날짜 SELECT CURDATE(); YYYY-MM-DD 형식
현재 시간 SELECT CURTIME(); HH:MM:SS 형식
현재 날짜 및 시간 SELECT NOW(); 현재 DATETIME
오늘이 포함된 요일 SELECT DAYOFWEEK(CURDATE()); 1(일요일) ~ 7(토요일)
현재 연도/월/일 SELECT YEAR(NOW()), MONTH(NOW()), DAY(NOW()); 각 날짜 요소 추출
현재 요일 이름 SELECT DAYNAME(NOW()); 예: Tuesday

 

날짜 포맷팅

-- 날짜를 'YYYY-MM-DD HH:MM:SS' 형식으로
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');

-- 한글 요일까지 표현 (예: '2025년 06월 24일 (화)')
SELECT DATE_FORMAT(NOW(), '%Y년 %m월 %d일 (%a)');

 

날짜 계산

-- 7일 후 날짜
SELECT DATE_ADD(CURDATE(), INTERVAL 7 DAY);

-- 1개월 전 날짜
SELECT DATE_SUB(CURDATE(), INTERVAL 1 MONTH);

-- 두 날짜 차이 (일수)
SELECT DATEDIFF('2025-07-01', '2025-06-24'); -- 결과: 7

-- 시간 차이 (초 단위)
SELECT TIMESTAMPDIFF(SECOND, '2025-06-24 10:00:00', '2025-06-24 12:00:00'); -- 7200

 

조건 검색에 날짜 사용

-- 오늘 생성된 데이터
SELECT * FROM orders WHERE DATE(created_at) = CURDATE();

-- 지난 30일간 데이터
SELECT * FROM users WHERE created_at >= DATE_SUB(NOW(), INTERVAL 30 DAY);

-- 특정 월의 데이터 (2025년 6월)
SELECT * FROM sales
WHERE created_at >= '2025-06-01'
  AND created_at < '2025-07-01';

 

반응형

 

날짜 그룹핑

-- 일별 매출 합계
SELECT DATE(created_at) AS sales_date, SUM(amount) AS total
FROM orders
GROUP BY DATE(created_at)
ORDER BY sales_date;

-- 월별 사용자 가입 수
SELECT DATE_FORMAT(created_at, '%Y-%m') AS month, COUNT(*) AS join_count
FROM users
GROUP BY month
ORDER BY month;

 

자동 날짜 삽입 / 수정

-- 테이블 생성 시 기본값으로 현재 시간 설정
CREATE TABLE posts (
  id INT PRIMARY KEY AUTO_INCREMENT,
  title VARCHAR(100),
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
  updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

 

날짜 비교 (조건문 활용)

-- 특정 날짜 이후
SELECT * FROM events WHERE event_date > '2025-06-01';

-- 특정 기간 사이
SELECT * FROM reservations
WHERE reserved_at BETWEEN '2025-06-01' AND '2025-06-30';

-- 요일이 주말인 데이터
SELECT * FROM schedules
WHERE DAYOFWEEK(event_date) IN (1, 7); -- 1: 일요일, 7: 토요일

 


쿼카가 잃어버린 알파벳을 찾고 있어요
도와준 분께는 보답으로 테슬라 주식 최대 100만원 어치를 준대요

👉 지금 이 링크를 누르면,
쿼카에게 알파벳 1개를 찾아 줄 수 있어요

https://tossinvest.com/_ul/E0up0D

 

 

반응형

'MySQL(MariaDB)' 카테고리의 다른 글

DB(Database/데이터베이스) 이란?  (19) 2025.06.27