SQL

DATETIME, DATE_FORMAT

얆생 2024. 11. 19. 23:47

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

 

W3Schools.com

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com