일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Cloud ERP
- sqlp
- Where
- Group Functions
- sql전문가
- nvl
- SQL개발자
- SUM
- SQL Grouping Functions
- 데이터모델링
- SQL문자형함수
- SQL기본
- CASE중첩
- null
- Searched Case Expression
- Britcent 3개월 완독 챌린지
- SQLD
- SQL내장함수
- Simple Case Expression
- SQL연산자
- 다중 열 서브 쿼리
- 단일 행 서브 쿼리
- Window Functions
- AVG
- Atomic Habit
- 3개월 완독 챌린지
- SQL숫자형 함수
- Aggregation Function
- sql
- 연관 서브 쿼리
Archives
- Today
- Total
슴슴한 IT
[SQLD,SQLP]SQL기본 - 날짜형 함수 본문
728x90
날짜형 함수
DATE 타입의 값을 연산하는 함수
날짜형 함수 | 함수 설명 | |
SYSDATE / GETDATE() | 현재 날짜와 시각을 출력 | |
TO_DATE(date_string, format) | 문자열을 날짜로 변환 | |
EXTRACT('YEAR'|'MONTH'|'DAY' from d) / DATEPART('YEAR'|'MONTH'|'DAY', d) |
날짜 데이터에서 연월일 데이터를 출력, 시분초 가능 | |
TO_NUMBER(TO_CHAR(d,'YYYY')) / YEAR(d) TO_NUMBER(TO_CHAR(d,'MM')) / MONTH(d) TO_NUMBER(TO_CHAR(d,'DD')) / DAY(d) |
날짜 데이터에서 연월일 데이터를 출력 Oracle EXTRACT YEAR/MONTH/DAY 옵션이나 SQL Server DEPART YEAR/MONTH/DAY 옵션과 같은 기능 |
|
ADD_MONTH(date, num_months) | 날짜(date)에 월(num_months)를 더함 | |
MONTHS_BETWEEN(end_date, start_date) | 두 날짜 간 월 차이를 계산 | |
LAST_DAY(date) | 해당 date 월의 마지막 날짜를 반환 | |
TRUNC(date, format) | 날짜를 지정된 단위로 잘라냄 | |
ROUND(date, format) | 날짜를 지정된 단위로 반올림 |
※ Oracle / SQL Server 의 함수를 구분해서 표시, '/' 가 없는 경우 공통 함수, 출처 : 한국데이터산업진흥원
날짜형 함수 예시
▶ SYSDATE : 현재 날짜와 시각을 반환
SELECT SYSDATE AS current_datetime FROM DUAL;
-- 결과: 2023-07-25 22:45:45 (실행 시간에 따라 결과가 달라질 수 있습니다)
▶ TO_DATE(date_string, format) : 문자열을 날짜로 변환
SELECT TO_DATE('2023-06-23', 'YYYY-MM-DD') AS converted_date FROM DUAL;
-- 결과: 2023-07-25
▶ EXTRACT(unit From date) : 날짜에서 지정된 시간 단위(unit)의 값을 추출
SELECT EXTRACT(YEAR FROM DATE '2023-07-25') AS year FROM DUAL;
-- 결과: 2023
SELECT EXTRACT(MONTH FROM DATE '2023-07-25') AS month FROM DUAL;
-- 결과: 6
▶ ADD_MONTHS(date, num_months) : 날짜에 월을 더함
SELECT ADD_MONTHS(DATE '2023-07-25', 3) AS new_date FROM DUAL;
-- 결과: 2023-10-25
▶ TO_NUMBER(string, [format]) : string을 숫자로 변환, [format]은 옵션
SELECT TO_NUMBER(TO_CHAR(DATE '2023-07-25', 'YYYY')) AS new_date FROM DUAL;
-- 결과: 2023
▶ MONTHS_BETWEEN(end_date, start_eate) : 두 날짜간 월 차이를 계산
SELECT MONTHS_BETWEEN(DATE '2023-12-31', DATE '2023-06-23') AS months_diff FROM DUAL;
-- 결과: 5.32258064516129
▶ LAST_DAY(date) : 해당 월의 마지막 날짜를 반환
SELECT LAST_DAY(DATE '2023-07-25') AS last_day FROM DUAL;
-- 결과: 2023-07-31
▶ TRUNC(date, format) : 날짜를 지정 된 단위로 잘라냄
SELECT TRUNC(DATE '2023-07-25', 'YYYY') AS truncated_date FROM DUAL;
-- 결과: 2023-01-01
▶ ROUND(date, format) : 날짜를 지정 된 단위로 반올림
SELECT ROUND(DATE '2023-07-25', 'MM') AS rounded_date FROM DUAL;
-- 결과: 2023-08-01
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
728x90
'SQL' 카테고리의 다른 글
[SQLD,SQLP]SQL기본 - NULL 함수 (0) | 2023.08.01 |
---|---|
[SQLD,SQLP]SQL기본 - CASE 함수 (0) | 2023.07.29 |
[SQLD,SQLP]SQL기본 - 숫자형 함수 (0) | 2023.07.23 |
[SQLD,SQLP]SQL기본 - 내장함수,문자형 함수 (0) | 2023.07.23 |
[SQLD,SQLP]SQL기본 - 합성연산자 (0) | 2023.07.23 |