MySQL DATE_FORMAT() 마스터하기: 날짜를 정밀하게 포맷하기
Takashi Yamamoto
Infrastructure Engineer · Leapcell

Key Takeaways
DATE_FORMAT()
은 형식 지정자를 사용하여 날짜 값을 읽기 쉬운 문자열로 변환하는 데 사용됩니다.%Y
,%m
,%d
와 같은 일반적인 형식 지정자는 날짜 출력 사용자 정의에 도움이 됩니다.DATE_FORMAT()
의 적절한 사용은 데이터 프레젠테이션을 향상시키고 사용자 경험을 개선합니다.
MySQL의 DATE_FORMAT()
함수는 날짜 및 시간 값을 읽기 쉬운 문자열로 포맷하는 강력한 도구입니다. 개발자는 다양한 형식으로 날짜를 표시하여 다양한 지역 설정 및 사용자 기본 설정을 충족할 수 있습니다.
DATE_FORMAT()이란 무엇입니까?
DATE_FORMAT()
함수는 지정된 형식 문자열을 기반으로 날짜 값을 포맷합니다. 다음 두 가지 매개변수를 허용합니다.
- date: 포맷할 날짜 또는 datetime 값입니다.
- format: 출력 형식을 지정하는 형식 지정자를 포함하는 문자열입니다.
구문은 간단합니다.
DATE_FORMAT(date, format)
이 함수는 제공된 지정자에 따라 포맷된 날짜의 문자열 표현을 반환합니다.
일반적인 형식 지정자
다음은 자주 사용되는 형식 지정자입니다.
%Y
: 4자리 연도 (예: 2025)%y
: 2자리 연도 (예: 25)%M
: 전체 월 이름 (예: 4월)%m
: 2자리 월 (예: 04)%d
: 2자리 월의 날짜 (예: 22)%e
: 선행 0이 없는 월의 날짜 (예: 22)%W
: 전체 요일 이름 (예: 화요일)%a
: 약식 요일 이름 (예: 화)%H
: 24시간 형식의 시간 (00 ~ 23)%h
또는%I
: 12시간 형식의 시간 (01 ~ 12)%i
: 분 (00 ~ 59)%s
또는%S
: 초 (00 ~ 59)%p
: AM 또는 PM
이러한 지정자를 결합하여 다양한 날짜 및 시간 형식을 만들 수 있습니다.
실제 예제
DATE_FORMAT()
이 어떻게 작동하는지 이해하기 위해 몇 가지 예제를 살펴보겠습니다.
1. 기본 날짜 포맷
SELECT DATE_FORMAT('2025-04-22', '%Y-%m-%d'); -- 출력: '2025-04-22'
2. 사용자 정의 날짜 표시
SELECT DATE_FORMAT('2025-04-22', '%W, %M %e, %Y'); -- 출력: 'Tuesday, April 22, 2025'
3. 날짜 및 시간 포맷
SELECT DATE_FORMAT('2025-04-22 14:30:00', '%d-%b-%Y %h:%i %p'); -- 출력: '22-Apr-2025 02:30 PM'
4. 테이블에서 날짜 포맷
orders
라는 테이블에 order_date
열이 있다고 가정합니다.
SELECT order_id, DATE_FORMAT(order_date, '%M %d, %Y') AS formatted_date FROM orders;
이 쿼리는 order_id
를 검색하고 order_date
를 'April 22, 2025'와 같이 읽기 쉬운 형식으로 포맷합니다.
팁 및 모범 사례
- 일관성: 가독성과 사용자 경험을 향상시키기 위해 애플리케이션 전체에서 일관된 날짜 형식을 유지하십시오.
- 로캘 고려 사항: 특히 국제 사용자를 대상으로 하는 애플리케이션에서는 지역별 날짜 형식을 고려하십시오.
- 성능: 대규모 데이터 세트로 쿼리에서
DATE_FORMAT()
을 사용하는 경우 포맷이 성능에 영향을 미칠 수 있으므로 인덱싱 전략을 고려하십시오. - 오류 처리: 예기치 않은 결과나 오류를 방지하려면
DATE_FORMAT()
에 전달된 날짜 값이 유효한지 확인하십시오.
결론
MySQL의 DATE_FORMAT()
함수는 다양한 형식으로 날짜 및 시간 데이터를 표시해야 하는 개발자에게 필수적인 도구입니다. 사용 가능한 형식 지정자를 이해하고 활용하면 애플리케이션 및 사용자의 특정 요구 사항을 충족하도록 날짜 프레젠테이션을 조정할 수 있습니다.
형식 지정자의 포괄적인 목록과 추가 예제는 MySQL DATE_FORMAT() documentation을 참조하십시오.
FAQs
표시 목적으로 DATE
또는 DATETIME
값을 사람이 읽을 수 있는 문자열로 포맷하는 데 사용됩니다.
예, SELECT 문에서 테이블 행의 날짜 필드를 포맷하는 데 적용할 수 있습니다.
행당 계산이 필요하므로 대규모 데이터 세트에서 성능에 약간 영향을 미칠 수 있습니다.
We are Leapcell, your top choice for hosting backend projects.
Leapcell is the Next-Gen Serverless Platform for Web Hosting, Async Tasks, and Redis:
Multi-Language Support
- Develop with Node.js, Python, Go, or Rust.
Deploy unlimited projects for free
- pay only for usage — no requests, no charges.
Unbeatable Cost Efficiency
- Pay-as-you-go with no idle charges.
- Example: $25 supports 6.94M requests at a 60ms average response time.
Streamlined Developer Experience
- Intuitive UI for effortless setup.
- Fully automated CI/CD pipelines and GitOps integration.
- Real-time metrics and logging for actionable insights.
Effortless Scalability and High Performance
- Auto-scaling to handle high concurrency with ease.
- Zero operational overhead — just focus on building.
Explore more in the Documentation!
Follow us on X: @LeapcellHQ