내가 보려고 정리하는 SQL - (5) 날짜형 함수
in Programming on SQL - Study
날짜형 함수 예시를 담아보았습니다.🧐
FROM DUMMY
: DB의 물리적 Table 없이 함수만 가지고 하고싶을 때, 무형의 테이블에서 가져오겠다는 의미
1. 현재 날짜와 시각을 출력 - CURRENT_TIMESTAMP
SELECT CURRENT_TIMESTAMP
FROM DUMMY
(조회결과)
2. 날짜 정보 추출 함수 - EXTRACT()
- 날짜 유형의 데이터로부터 날짜 정보를 분리하여 새로운 컬럼의 형태로 추출해 주는 함수
SELECT EXTRACT('날짜요소' FROM 컬럼X) FROM 테이블A
: 테이블A의 날짜 변수가 담긴 컬럼X로부터 특정한 날짜요소를 추출하여 새로운 컬럼으로 반환
날짜요소 표시 | 날짜 정보 |
---|---|
YEAR | 연도 |
MONTH | 월 |
DAY | 일 |
HOUR | 시 |
MINUTE | 분 |
SECOND | 초 |
SELECT CURRENT_TIMESTAMP,
EXTRACT(YEAR FROM CURRENT_TIMESTAMP) AS YEAR, --연도
EXTRACT(MONTH FROM CURRENT_TIMESTAMP) AS MONTH, --월
EXTRACT(DAY FROM CURRENT_TIMESTAMP) AS DAY, --일
EXTRACT(HOUR FROM CURRENT_TIMESTAMP) AS HOUR, --시
EXTRACT(MINUTE FROM CURRENT_TIMESTAMP) AS MINUTE, --분
EXTRACT(SECOND FROM CURRENT_TIMESTAMP) AS SECOND --초
FROM DUMMY
(조회결과)
3. DAYOFYEAR() / DAYOFMONTH() / DAYOFWEEK()
DAYOFYEAR()
: 날짜에 대한 년의 날수를 반환하며, 365일 범위 내에 현재 날짜 년의 날수를 반환함DAYOFMONTH()
: 범위 1~31일 에서 선택 날짜의 날을 반환함DAYOFWEEK()
: 날짜에 대한 요일(1-일요일, 2-월요일, …, 7-토요일)에 대한 정수를 반환함SELECT CURRENT_TIMESTAMP, DAYOFYEAR(CURRENT_TIMESTAMP), DAYOFMONTH(CURRENT_TIMESTAMP), DAYOFWEEK(CURRENT_TIMESTAMP) FROM DUMMY
(조회결과)
4. ADD_DAYS() / ADD_MONTHS()
ADD_MONTHS(init_date, add_months)
: 특정 일자에서 월을 더한 값을 반환하는 함수ADD_DAYS(init_date, add_days)
: 특정 일자에서 일을 더한 값을 반환하는 함수- 음수일 경우 초기 날짜(init_date)의 이전 개월 or 일수로 계산됨
SELECT CURRENT_TIMESTAMP, ADD_DAYS(CURRENT_TIMESTAMP, 2), ADD_MONTHS(CURRENT_TIMESTAMP, -2) FROM DUMMY
(조회결과)
- 음수일 경우 초기 날짜(init_date)의 이전 개월 or 일수로 계산됨