문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
dbms:oracle:devel:oracledatefunction [2007/03/07 14:29] starlits |
dbms:oracle:devel:oracledatefunction [2016/06/29 03:22] starlits [당월의 주차] |
||
---|---|---|---|
줄 8: | 줄 8: | ||
| SYSTIMESTAMP | SYSTIMESTAMP | 07/03/07 10: | | SYSTIMESTAMP | SYSTIMESTAMP | 07/03/07 10: | ||
| LAST_DAY(날짜값) | LAST_DAY(' | | LAST_DAY(날짜값) | LAST_DAY(' | ||
- | | NEXT_DAY(날짜값, | + | | [[dbms: |
| MONTHS_BETWEEN (날짜값1, | | MONTHS_BETWEEN (날짜값1, | ||
| ADD_MONTHS(날짜값, | | ADD_MONTHS(날짜값, | ||
줄 66: | 줄 66: | ||
===== 날짜계산 ===== | ===== 날짜계산 ===== | ||
+ | |||
+ | ==== 날짜구하기 ==== | ||
+ | |||
- 특정일(2006-12-22)과 현재 날짜까지의 달의 차이 수(NUMBER 타입으로 변환) < | - 특정일(2006-12-22)과 현재 날짜까지의 달의 차이 수(NUMBER 타입으로 변환) < | ||
줄 90: | 줄 93: | ||
</ | </ | ||
+ | ==== WHERE 조건상의 날짜계산 ==== | ||
+ | - **어제** 날짜칼럼 < | ||
+ | BETWEEN TRUNC(SYSDATE-1) AND TRUNC(SYSDATE-1)+0.99999421 | ||
+ | </ | ||
+ | - **오늘** 날짜칼럼 < | ||
+ | BETWEEN TRUNC(SYSDATE) AND TRUNC(SYSDATE) + 0.99999421 | ||
+ | </ | ||
+ | - **내일** 날짜칼럼 < | ||
+ | BETWEEN TRUNC(SYSDATE+1) AND TRUNC(SYSDATE+1)+0.99999421 | ||
+ | </ | ||
+ | - **금주** 날짜칼럼 < | ||
+ | BETWEEN TRUNC(SYSDATE+1)-TO_CHAR(SYSDATE,' | ||
+ | AND TRUNC(SYSDATE+1)-TO_CHAR(SYSDATE,' | ||
+ | </ | ||
+ | - **차주** 날짜칼럼 < | ||
+ | BETWEEN TRUNC(SYSDATE+8)-TO_CHAR(SYSDATE, | ||
+ | AND TRUNC(TRUNC(SYSDATE)+14.99999421)-TO_CHAR(SYSDATE, | ||
+ | </ | ||
+ | - **금월** 날짜칼럼 < | ||
+ | BETWEEN TRUNC(SYSDATE+1)-TO_CHAR(SYSDATE,' | ||
+ | AND TRUNC(LAST_DAY(SYSDATE))+0.99999421 | ||
+ | </ | ||
+ | - **전월** 날짜칼럼 < | ||
+ | BETWEEN TRUNC(ADD_MONTHS(SYSDATE, | ||
+ | AND TRUNC(LAST_DAY(ADD_MONTHS(SYSDATE, | ||
+ | </ | ||
+ | - **차월** 날짜칼럼 < | ||
+ | BETWEEN ADD_MONTHS(TRUNC(SYSDATE), | ||
+ | AND LAST_DAY(ADD_MONTHS(TRUNC(SYSDATE), | ||
+ | </ | ||
+ | |||
+ | ==== 특정일 까지 간격 ==== | ||
+ | |||
+ | * 특정일 까지의 간격을 년, 개월, 일로 표현하기 < | ||
+ | SELECT | ||
+ | TRUNC(MONTHS_BETWEEN(SYSDATE, | ||
+ | TRUNC(MONTHS_BETWEEN(SYSDATE, | ||
+ | TRUNC(MONTHS_BETWEEN(SYSDATE, | ||
+ | TRUNC((MONTHS_BETWEEN(SYSDATE, | ||
+ | TRUNC(MONTHS_BETWEEN(SYSDATE, | ||
+ | FROM DUAL; | ||
+ | </ | ||
+ | |||
+ | ==== 당월의 주차 ==== | ||
+ | * 당월의 주차 구하기 < | ||
+ | SELECT | ||
+ | TO_CHAR(SYSDATE,' | ||
+ | , | ||
+ | FROM DUAL; | ||
+ | </ | ||
+ | * TO_CHAR(SYSDATE,' | ||
+ | |||
+ | * 한해의 주차 구하기 < | ||
+ | select rownum | ||
+ | , | ||
+ | , | ||
+ | , | ||
+ | , | ||
+ | , | ||
+ | from all_tables | ||
+ | where rownum < 367; | ||
+ | </ | ||
+ | ==== 시간 계산 SQL ==== | ||
+ | < | ||
+ | SELECT TRUNC(TO_DATE(' | ||
+ | | ||
+ | | ||
+ | | ||
+ | " | ||
+ | FROM DUAL ; | ||
+ | </ |