OneDev
[SQL] 3. 내장함수(3) - 날짜 처리 함수 본문
▣ LAST_DAY( d ) :
해당 달(d가 속한 달) 의 마지막 날의 날짜를 반환
SELECT LAST_DAY(SYSDATE) FROM DUAL;
▣ ADD_MONTH( a, b )
- a : 날짜
- b : 정수(개월)
- a의 날짜에 b개월 더한 값을 반환
- 만약 결과로 나와야 할 월의 날짜 수가 a 가 속한 달의 날짜 수보다 적다면, 결과값의 마지막 일이 반환된다
SELECT ADD_MONTHS('20/09/11', 2) FROM DUAL;
--> 20/11/11
SELECT ADD_MONTHS('20/01/31', 1) FROM DUAL;
-- > 20/02/29 (2월 31일 대신 마지막날인 29일 반환)
▣ MONTHS_BETWEEN( date1, date2 )
두 날짜 사이의 개월 수를 반환 (반환형 : NUMBER).
- 결과의 정수부분은 월을, 소수부분은 일을 나타낸다
- 결과값이 음수가 될 수도 있다.
SELECT MONTHS_BETWEEN(TO_DATE('2020/06/05'), TO_DATE('2020/09/23')) FROM DUAL;
--> -3.880635
▣ ROUND(date, F)
- 날짜를 지정된 단위(F)로 반올림하는 함수
- F = 'YEAR' →년으로 반올림
- F = 'MONTH' → 월로 반올림
SELECT ROUND(TO_DATE('1998/09/11'), 'YEAR') FROM DUAL;
--> 99-01-01
SELECT ROUND(TO_DATE('1998/04/11'), 'MONTH') FROM DUAL;
--> 98-04-01
SELECT ROUND(TO_DATE('1998/04/11'), 'DAY') FROM DUAL;
--> 98-04-11
※ 날짜에 대한 산술 연산
연산 | 결과치 | 사용목적 |
날짜 + 숫자 | 날짜 | 특정한 날로부터 며칠(숫자) 후의 날짜 계산 |
날짜 - 숫자 | 날짜 | 특정한 날로부터 며칠(숫자) 전의 날짜 계산 |
날짜 - 날짜 | 숫자 | 두 날짜 사이의 차이(일수)를 숫자로 계산 |
'DB\SQL > SQL(Oracle)' 카테고리의 다른 글
[SQL] 3. 내장함수(4) - 변환 함수(Conversion Function) to_char, to_date, to_number (0) | 2023.02.09 |
---|---|
[SQL] 3. 내장함수(2) - 문자열 처리함수 (0) | 2023.02.06 |
[SQL] 3. 내장함수(1) - 숫자함수(ABS, CEL, ROUND, SQRT, TRUNC, MOD) (0) | 2023.02.06 |
[SQL] 2. 데이터 조작어(DML) - SELECT 문 & Oracle연산자 (0) | 2023.02.06 |
[SQL] 1. SQL 문 살펴보기(SQL문이란?, DDL, DML, DCL, TCL) (0) | 2023.02.01 |
Comments