티스토리 뷰
1. MONTHS_BETWEEN() - 역할
두 날짜 사이의 개월 수가 얼마인지 반환
◈ 구문형식
MONTHS_BETWEEN(날짜1, 날짜2)
- (날짜1 - 날짜2)
- 날짜1 , 날짜2 모두 들어와야 함
- 결과가 음수일 경우에는 음수로 반환
2. MONTHS_BETWEEN() - SQL 문장
◈ SQL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | SELECT MONTHS_BETWEEN(TO_DATE('20160301','YYYYMMDD') ,TO_DATE('20160201','YYYYMMDD')) AS DAT_ONE ,MONTHS_BETWEEN(TO_DATE('20160201','YYYYMMDD') ,TO_DATE('20160301','YYYYMMDD')) AS DAT_TWO ,MONTHS_BETWEEN(TO_DATE('20161015','YYYYMMDD') ,TO_DATE('20160916','YYYYMMDD')) AS DAT_THREE ,MONTHS_BETWEEN(TO_DATE('20161015','YYYYMMDD') ,TO_DATE('20160915','YYYYMMDD')) AS DAT_FOUR ,MONTHS_BETWEEN(TO_DATE('20160201','YYYYMMDD') ,TO_DATE('20160301','YYYYMMDD')) AS DAT_FIVE ,MONTHS_BETWEEN(TO_DATE('20160201','YYYYMMDD') ,TO_DATE('20160229','YYYYMMDD')) AS DAT_SIX FROM DUAL |
◈ 결과 테이블
DAT_ONE | DAT_TWO | DAT_THREE |
1 | -1 | 0.9677419354838709677419354838709677419355 |
DAT_FOUR | DAT_FIVE | DAT_SIX |
1 | -1 | -0.9032258064516129032258064516129032258065 |
◈ 설명
DAT_THREE : 실질적으로 9월16일 ~ 10월15일은 일수로 보면 30일로 한달을 생각할 수 있지만,여기서는 30 을 31일로 나눈 값을 보여줍니다
DAT_FIVE : 2월1일 ~ 3월 1일은 일수로 따지면 30일이 안되지만 결과는 1을 보여줍니다
DAT_SIX : 2월1일 ~ 2월 29일은 28 을 31일로 나눈 값을 보여줍니다
'[개발]프로그래밍 > sql' 카테고리의 다른 글
[oracle] NVL ,NVL2,NULLIF - NULL일 경우 반환 함수 (0) | 2016.09.29 |
---|---|
[oracle]NEXT_DAY , LAST_DAY - 다음날짜와 마지막 날짜 (0) | 2016.09.29 |
[oracle] LENGTH(),LENGTHB() - 문자열 길이 (0) | 2016.09.26 |
[oracle] INSTR - 특정 문자의 시작위치 (0) | 2016.09.26 |
[oracle] SUBSTR , SUBSTRB - 문자열의 일부를 반환 (1) | 2016.09.26 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday