programing

Oracle 11g에서 두 날짜 사이의 일수는 어떻게 알 수 있습니까?

jooyons 2023. 3. 21. 21:55
반응형

Oracle 11g에서 두 날짜 사이의 일수는 어떻게 알 수 있습니까?

Oracle 11g에서 두 날짜 사이의 정수를 찾으려고 합니다.

하면 친해질 수 있다

select sysdate - to_date('2009-10-01', 'yyyy-mm-dd') from dual

근데 이게 인터벌을 돌려주니까 이걸 정수로 캐스팅하는 데 성공하지 못했어요.

편집: 10g 단위로 일수를 정수로 반환합니다.

또는 다음과 같이 할 수도 있습니다.

select trunc(sysdate) - to_date('2009-10-01', 'yyyy-mm-dd') from dual

이 값에는 다음 일수가 반환됩니다.

SQL> create view v as 
  2  select trunc(sysdate) - to_date('2009-10-01', 'yyyy-mm-dd') diff 
  3  from dual;

View created.

SQL> select * from v;

      DIFF
----------
        29

SQL> desc v
 Name                   Null?    Type
 ---------------------- -------- ------------------------
 DIFF                            NUMBER(38)

내가 직접 알아냈어필요합니다

select extract(day from sysdate - to_date('2009-10-01', 'yyyy-mm-dd')) from dual

다음을 사용할 수 있습니다.

select trunc(sysdate - to_date('2009-10-01', 'yyyy-mm-dd')) as days from dual

이건 내가 직접 테스트해본 결과야.
sysdate와 acceptdate 열에서 가져온 날짜 간의 차이를 제공합니다.

  TABLE SCHEMA:
    CREATE TABLE "ADMIN"."DUESTESTING" 
    (   
  "TOTAL" NUMBER(*,0), 
"DUES" NUMBER(*,0), 
"ADMITDATE" TIMESTAMP (6), 
"DISCHARGEDATE" TIMESTAMP (6)
    )

EXAMPLE:
select TO_NUMBER(trunc(sysdate) - to_date(to_char(admitdate, 'yyyy-mm-dd'),'yyyy-mm-dd')) from admin.duestesting where total=300
  • 월말과 오늘 시작 사이의 하루(월말 포함):

    SELECT LAST_DAY (TRUNC(SysDate)) - TRUNC(SysDate) + 1 FROM dual
    
  • 정확한 시간 사용 간격(일):

    SELECT SysDate - TO_DATE('2018-01-01','YYYY-MM-DD') FROM dual
    

답변은 아래 문의를 참고하시기 바랍니다.두 번째 파트에서는 더미 날짜를 선택하고 있습니다.필요에 따라 원하는 날짜로 바꿀 수 있습니다.

SELECT TO_DATE(SysDate,'YYYY-MM-DD')  - TO_DATE('2018-01-01','YYYY-MM-DD') FROM dual

언급URL : https://stackoverflow.com/questions/1646001/how-can-i-get-the-number-of-days-between-2-dates-in-oracle-11g

반응형