반응형
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 |
---|