MySQL에서 시간과 날짜 관련된 데이터를 출력할 때, DATE, TIME, DATETIME의 데이터 타입을 사용한다.
- DATE: 연/월/일
- TIME: 시/분/초
- DATETIME: 연/월/일/시/분/초
보통 DATETIME을 가장 많이 쓴다.
쿼리를 작성하다보면 내가 가진 DATETIME 컬럼 값의 형태가 아닌 다른 형태로 날짜, 시간 데이터를 출력하고 싶을 때가 있다.
1) 2024/11/19를 2024-11-19로 출력하고 싶을 때,
2) 2024/11/19 23:22:30에서 원하는 값(시간)만 뽑아내고 싶을 때,
DATE_FORMAT을 쓴다.
SELECT DATE_FORMAT('변경을 원하는 데이터 값 또는 칼럼', '새 형식 지정')
1)의 경우 작성법 예시
SELECT DATE_FORMAT('2024/11/19', '%Y-%m-%d')
2024-11-19
여기서,
- %Y: Year as a numeric, 4-digit value(네글자 숫자 형식의 연도)
- %m: Month name as a numeric value (00 to 12) (두자리수로 숫자 형식 월 표시)
- %d: Day of the month as a numeric value (01 to 31) (두자리수로 숫자 형식의 일 표시)
추가적으로,
- %y: Year as a numeric, 2-digit value (두글자 형식의 연도, 19년도 → 19, 24년도 → 24)
- %M: Month name in full (January to December) (월 이름)
- %b: Abbreviated month name (Jan to Dec) (월 이름 축약 버전)
- %c: Numeric month name (0 to 12) (한 자리수인건 한 글자로 표시)
- %D: Day of the month as a numeric value, followed by suffix (1st, 2nd, 3rd, ...)
- %e: Day of the month as a numeric value (0 to 31) (한 자리수인건 한 글자로 표시)
2)의 경우 작성법 예시
SELECT DATE_FORMAT('2024-11-19 23:22:30', '%H:%i:%s') AS 시간
23:22:30
여기서,
- %H: Hour (00 to 23)
- %i: Minutes (00 to 59)
- %s: Seconds (00 to 59)
추가적으로,
- %h: Hour (00 to 12)
- %p: AM or PM
- %r: Time in 12 hour AM or PM format (hh:mm:ss AM/PM)
그 외에도 날짜, 시간, 요일 표현 형식을 잘 알아둬서 적재적소에 써먹을 수 있도록 하자!
*참고 사이트: https://www.w3schools.com/mysql/func_mysql_date_format.asp
'SQL' 카테고리의 다른 글
프로그래머스 SQL - 조건에 부합하는 중고거래 댓글 조회하기 (1) | 2024.11.05 |
---|---|
프로그래머스 SQL - 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (2) | 2024.10.13 |
프로그래머스 SQL - 이름에 el이 들어가는 동물 찾기 (1) | 2024.10.12 |
CASE (+ 해커랭크 예제) (0) | 2024.10.12 |
프로그래머스 SQL - 조건에 부합하는 중고거래 상태 조회하기(Lv.2) (1) | 2024.10.11 |