OneDev

[SQL] 3. 내장함수(3) - 날짜 처리 함수 본문

DB\SQL/SQL(Oracle)

[SQL] 3. 내장함수(3) - 날짜 처리 함수

one_dev 2023. 2. 9. 14:18

▣ 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

 

※ 날짜에 대한 산술  연산

연산 결과치 사용목적
날짜 + 숫자 날짜 특정한 날로부터 며칠(숫자) 후의 날짜 계산
날짜 - 숫자 날짜 특정한 날로부터 며칠(숫자) 전의 날짜 계산
날짜 - 날짜 숫자  두 날짜 사이의 차이(일수)를 숫자로 계산
Comments