2012-11-18 2 views
1

두 날짜의 차이점을 확인하려면 어떻게해야합니까? 항목 'DD-MON-YYYY "Days_Between two dates

  • 다른 날짜의 날짜 타입

    1. BillingDate 현재 날짜이다. 예제

    sys_date - BillingDate = daysFromBilled 
    

    많이 나는 그들이 실제로 차이를 계산하기 위해 두 번째 날짜를 언급하지만 내가 찾고 있어요 것은 현재 날짜의 차이가 너무 나는에 추가 할 수 있습니다 찾을 일정 또는 직업.

    나는 오라클 btw를 사용하고 있습니다.


    또 다른 점

    내가 검색을 계속 추가,하지만 당신은 또한 추천 할 수 있다면, 내가 어떻게 그런 기능을 구현해야합니다 : 모든 BillingDate에서

    1. 계산 날짜 차이에
    2. 엔트리를 차이가 30 일 이상이면 상태 테이블을 Late로 설정하기 위해 alter table을 트리거하십시오.
    3. 상태는 서비스의 속성이 변경 및

    을 차단하기 위해 변경됩니다 60 일 이상이면 여기

    Cust    Billing 
    --------   ---------- 
    CustID(PK)  BillingID(PK) 
    LateStatus  LateStatus 
    Service   BillingDate 
           CustID 
    

    덕분에 많이 내 거친 테이블 레이아웃입니다.

    업데이트보기 DateDifference 교체

    선택 TRUNC (SYSDATE) 등 -에서 결제 TRUNC (BillingDate) ;

    것 같습니다.

  • +0

    "alter table"은 표의 정의 *를 변경하는 데 사용됩니다 (예 : 열 추가 또는 제거). 테이블을 '변경'하지 않고 '업데이트'하고 싶습니다. –

    답변

    1

    간단하게 다른에서 하나의 날짜를 빼기 :

    BillingDate - sysdate 
    

    은 선택 성명에서 이렇게하려면, 다음과 같이 사용하면 정기적 할당 연산자를 사용하여 트리거 내부

    select billingdate - sysdate as daysFromBilled 
    from ... 
    

    :

    declare 
        daysFromBilled integer; 
    
    begin 
        daysFromBilled := :new.billingdate - sysdate; 
    ... 
    

    시간이 di 일 경우 분수를 포함하여 일 수를 반환합니다. fferent (오라클의 DATE 열에도 시간이 있습니다!).당신은 단지 전체 일을 얻고 싶은 경우에

    , 이것을 사용 :

    trunc(BillingDate) - trunc(sysdate) 
    

    당신이 문 :

    날짜 형식을 항목 'DD-MON-YYYY'로

    오해를 나타냅니다. DATE 값이 작동합니다.

    DATE (또는 TIMESTAMP) 하지 어떤 형식을 가지고있다.

    이들은 열에 이진 형식으로 저장됩니다. 값을 표시하고이를 문자 리터럴로 변환 할 때 형식은 만 적용됩니다. 이것이 값을 표시하는 데 사용하는 클라이언트 응용 프로그램의 작업입니다. SQL * Plus는 NLS 설정을 사용하며 다른 SQL 도구는 다른 구성을 사용할 수 있습니다.

    +0

    답장을 보내 주셔서 감사합니다. 업데이트 및 수정 표에 대한 의견을 이해합니다. 나는 바보 같은 질문과 진술을하면 사과, 나는 SQL에 익숙해지고있다. 차이에 대한 구문을 쓰는 방법에 대한 예를 보여줄 수 있다고 생각하십니까? –

    +0

    @ChrisPin : 일 차이를 계산하는 방법을 보여주었습니다. –

    +0

    @ChrisPin : 주석에 코드를 게시하지 말고 질문을 편집하십시오. 그리고 PL/SQL의 변수 할당에 관한 오라클 매뉴얼을 읽으십시오. http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/fundamentals.htm#i16001 간단한 편집 예제를 참조하십시오. –