본문 바로가기
Language/SQL

[SQL] date 타입에 대해 알아보기 (MySQL)

by SooooooooS 2023. 12. 14.
728x90

※ 문제 풀이를 하면서 SQL 복습 정리 ※

📖  참고 및 공식문서

Date 타입

https://dev.mysql.com/doc/refman/8.0/en/date-and-time-types.html

 

MySQL :: MySQL 8.0 Reference Manual :: 11.2 Date and Time Data Types

11.2 Date and Time Data Types The date and time data types for representing temporal values are DATE, TIME, DATETIME, TIMESTAMP, and YEAR. Each temporal type has a range of valid values, as well as a “zero” value that may be used when you specify an i

dev.mysql.com

Date 관련 함수

https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html

 

MySQL :: MySQL 8.0 Reference Manual :: 12.7 Date and Time Functions

12.7 Date and Time Functions This section describes the functions that can be used to manipulate temporal values. See Section 11.2, “Date and Time Data Types”, for a description of the range of values each date and time type has and the valid formats

dev.mysql.com


1️⃣ Date and Time Data Type

Data Type Value
DATE 'YYYY-MM-DD'
TIME 'HH:MM:SS'
DATETIME 'YYYY-MM-DD HH:MM:SS'
TIMESTAMP 'YYYY-MM-DD HH:MM:SS'

 

🌟 DATETIME 과 TIMESTAMP의 차이점

  • time zone 의존 여부
    • DATETIME : 시스템의 time zone을 반영하지 않는다.
    • TIMESTAMP : 시스템의 time zone을 반영하여 이에 따라 변경된다.
  • 표현 범위

2️⃣ Date Function

Function Description
CONVERT_TZ() 한 시간대에서 다른 시간대로 변환
CURDATE() 현재일자 반환
CURTIME() 현재시간 반환
NOW() 현재 날짜 및 시간 반환
DATE_FORMAT()
날짜 형식 지정
TIME_FORMAT()
시간 형식 지정
DAY() 해당월의 일 반환(0-31)
HOUR() 시간 반환
MONTH() 월 반환
YEAR()
년도 반환

 

이외에도 다양한 함수들이 있지만 그 중 문제 풀이에 사용한 함수를 정리한다.

1. DATE_FORMAT(date, format)

: format 문자열에 따라 날짜 값의 형식을 지정 (% 지정자 형식으로 표현)

 

🔗 형식 지정자

Specifier Description
%Y YYYY : 네자리로 표현
%y YY : 두자리로 표현
%M Month name(January..December)
%m MM : 00 - 12
%D 0th1st2nd3rd, …
%d DD : 00 - 31
%e DD : 0 - 31

 

※ 문제 사용예시

date_format(reply.CREATED_DATE, '%Y-%m-%d') as CREATED_DATE

 

YYYY-MM-DD 형식으로 출력될 수 있도록 했다.

728x90