728x90
※ 문제 풀이를 하면서 SQL 복습 정리 ※
📖 참고 및 공식문서
Date 타입
https://dev.mysql.com/doc/refman/8.0/en/date-and-time-types.html
Date 관련 함수
https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html
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을 반영하여 이에 따라 변경된다.
- 표현 범위
- DATETIME : '1000-01-01 00:00:00.000000' - '9999-12-31 23:59:59.499999'
- TIMESTAMP : '1970-01-01 00:00:01.000000' - '2038-01-19 03:14:07.499999'
- [공식문서] https://dev.mysql.com/doc/refman/8.0/en/datetime.html
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 | 0th, 1st, 2nd, 3rd, … |
%d | DD : 00 - 31 |
%e | DD : 0 - 31 |
※ 문제 사용예시
date_format(reply.CREATED_DATE, '%Y-%m-%d') as CREATED_DATE
YYYY-MM-DD 형식으로 출력될 수 있도록 했다.
728x90
'Language > SQL' 카테고리의 다른 글
[SQL] CASE Statement (MySQL) (0) | 2024.02.06 |
---|---|
[SQL] JOIN 정리 (MySQL) (0) | 2024.01.14 |
[SQL] Aggregate & Mathematical Function 정리 (MySQL) (2) | 2024.01.03 |
[SQL] 문자열 비교함수 알아보기 (MySQL) (0) | 2023.12.21 |