MySQL DATE_FORMAT() 함수에서 날짜와 시간 형식 문자를 함께 사용하기
MySQL의 DATE_FORMAT() 함수는 날짜 형식 문자(%D, %M, %Y 등)와 시간 형식 문자(%h, %i, %s, %f, %p 등)를 하나의 서식 문자열 안에서 자유롭게 조합하여 사용할 수 있습니다. 이를 통해 날짜와 시간 정보를 원하는 형태로 한 번에 출력할 수 있습니다.
날짜 형식 문자와 시간 형식 문자 조합 예제
다음 예제는 날짜 형식 문자인 '%a'(요일 약어)를 다른 시간 형식 문자들과 함께 사용한 경우입니다.
mysql> SELECT DATE_FORMAT(NOW(), 'The time is %a %h:%i:%s:%f %p'); +-----------------------------------------------------+ | DATE_FORMAT(NOW(), 'The time is %a %h:%i:%s:%f %p') | +-----------------------------------------------------+ | The time is Sun 06:35:06:000000 AM | +-----------------------------------------------------+ 1 row in set (0.00 sec)
위 쿼리에서 '%a'는 요일(Sun)을 나타내고, '%h:%i:%s:%f'는 시:분:초:마이크로초를, '%p'는 AM/PM 표시를 출력합니다.
날짜와 시간을 모두 포함한 출력 예제
아래 예제는 날짜 형식 문자와 시간 형식 문자를 모두 결합하여 전체 날짜 및 시간 정보를 한 번에 표시하는 방법을 보여줍니다.
mysql> SELECT DATE_FORMAT(NOW(), 'The date & time is %a %D %M %Y %h:%i:%s:%f %p'); +---------------------------------------------------------------------+ | DATE_FORMAT(NOW(), 'The date & time is %a %D %M %Y %h:%i:%s:%f %p') | +---------------------------------------------------------------------+ | The date & time is Sun 29th October 2017 06:37:17:000000 AM | +---------------------------------------------------------------------+ 1 row in set (0.00 sec)
이처럼 각 형식 문자가 의미하는 내용은 다음과 같습니다.
- %a — 요일의 약어 (예: Sun)
- %D — 영문 서수 접미사가 붙은 일 (예: 29th)
- %M — 월의 전체 이름 (예: October)
- %Y — 4자리 연도 (예: 2017)
- %h — 12시간제 시간
- %i — 분
- %s — 초
- %f — 마이크로초(6자리)
- %p — AM 또는 PM
이렇게 여러 형식 문자를 조합하면 보고서, 로그, 사용자 인터페이스 등 다양한 상황에서 필요한 맞춤형 날짜·시간 문자열을 손쉽게 생성할 수 있습니다.