반응형
1. 가장 권장되는 방식 (인덱스 활용 가능)
SELECT * FROM your_table WHERE CREATION_DATE >= CURDATE();
설명
- CURDATE() : 오늘 날짜의 00:00:00 시각을 의미
- DATETIME 컬럼과 직접 비교하므로 인덱스 사용 가능
- 성능 및 가독성 측면에서 가장 권장
2. 명시적으로 0시를 표현하는 방식
SELECT * FROM your_table WHERE CREATION_DATE >= CONCAT(CURDATE(), ' 00:00:00');
또는
SELECT * FROM your_table WHERE CREATION_DATE >= TIMESTAMP(CURDATE());
3. BETWEEN 사용 예제 (오늘 하루만)
SELECT * FROM your_table WHERE CREATION_DATE BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 1 DAY);
주의
- BETWEEN은 양 끝값을 모두 포함
- 23:59:59 대신 다음 날 0시를 사용하는 것이 안전
4. ❌ 비권장 방식 (인덱스 미사용 가능성)
SELECT * FROM your_table WHERE DATE(CREATION_DATE) = CURDATE();
문제점
- CREATION_DATE에 함수 적용 → 인덱스 사용 불가
- 데이터가 많을 경우 성능 저하
정리 (실무 권장)
| 오늘 0시 이후 전체 | CREATION_DATE >= CURDATE() |
| 오늘 하루만 | CREATION_DATE >= CURDATE() AND CREATION_DATE < DATE_ADD(CURDATE(), INTERVAL 1 DAY) |
| 인덱스 고려 | 함수 미사용 비교 방식 |
반응형
'교육' 카테고리의 다른 글
| Windows 11 + VS Code에서 Cursor처럼 쓰는 로컬 개발자 AI 설치 가이드 (1) | 2026.02.04 |
|---|---|
| React : Cannot find type definition file for 'minimatch'. 오류 (0) | 2026.01.20 |
| node v14.17.0 설치 URL (0) | 2026.01.19 |
| MinIO + Apache Iceberg + Trino 기반 Data Lake 구축 종합 가이드 (0) | 2026.01.15 |
| Data Lake Windows 환경에서의 현실적 권장 아키텍처 (0) | 2026.01.15 |