두 날짜의 차이를 년월일 시분초로 표현하기

· 17년 전 · 3777
-- 년월일
DECLARE
        d1 DATE;
        d2 DATE;
        years NUMBER;
        months  NUMBER;
        days    NUMBER;
BEGIN
        d1 := to_date( '09-JUL-2007', 'DD-MON-YYYY' );
        d2 := to_date( '24-JUL-1995', 'DD-MON-YYYY' );

        years := trunc( months_between( d1, d2 ) / 12 );
        months := mod( trunc( months_between( d1, d2 ) ), 12 );
        days := d1 - add_months(d2,trunc( months_between( d1, d2 ) ));

        dbms_output.put_line( 'years = ' || years);
        dbms_output.put_line( 'months = ' || months);
        dbms_output.put_line( 'days = ' || days);
END;
/


<결과>
years = 11
months = 11
days = 15




-- 년월일시분초
DECLARE
        d1 DATE;
        d2 DATE;
        years NUMBER;
        months  NUMBER;
        days    NUMBER;
        hours NUMBER;
        minutes NUMBER;
        seconds NUMBER;
       
BEGIN
        d1 := to_date( '09-JUL-2007 23:10:43', 'DD-MON-YYYY HH24:MI:SS' );
        d2 := to_date( '24-JUL-1995 10:09:40', 'DD-MON-YYYY HH24:MI:SS' );

        years := trunc( months_between( d1, d2 ) / 12 );
        months := mod( trunc( months_between( d1, d2 ) ), 12 );
        days := trunc(d1 - add_months(d2,trunc( months_between( d1, d2 ) )));
        hours := trunc( mod( (d1-d2)*24, 24 ) );
        minutes := trunc( mod( (d1-d2)*24*60, 60 ) );
        seconds := trunc( mod( (d1-d2)*24*60*60, 60 ) );

        dbms_output.put_line( 'years = ' || years);
        dbms_output.put_line( 'months = ' || months);
        dbms_output.put_line( 'days = ' || days);
        dbms_output.put_line( 'hours = ' || hours);
        dbms_output.put_line( 'minutes = ' || minutes);
        dbms_output.put_line( 'seconds = ' || seconds);
       
END;
/


<결과>
years = 11
months = 11
days = 15
hours = 13
minutes = 1
seconds = 3
[이 게시물은 관리자님에 의해 2011-10-31 16:47:36 Oracle에서 이동 됨]
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
17년 전 조회 1,272
17년 전 조회 1,160
17년 전 조회 1,270
17년 전 조회 2,434
17년 전 조회 4,225
17년 전 조회 1,232
17년 전 조회 3,974
17년 전 조회 4,129
17년 전 조회 1,242
17년 전 조회 2,208
17년 전 조회 1,653
17년 전 조회 3,247
17년 전 조회 1,391
17년 전 조회 3,634
17년 전 조회 3,432
17년 전 조회 2,593
17년 전 조회 2,971
17년 전 조회 2,661
17년 전 조회 1,980
17년 전 조회 3,344
17년 전 조회 2,662
17년 전 조회 3,553
17년 전 조회 1,175
17년 전 조회 2,284
17년 전 조회 1,352
17년 전 조회 1,227
17년 전 조회 1,097
17년 전 조회 1,080
17년 전 조회 1,453
17년 전 조회 2,893
17년 전 조회 3,291
17년 전 조회 3,032
17년 전 조회 1,911
17년 전 조회 4,020
17년 전 조회 1,437
17년 전 조회 1,157
17년 전 조회 1,271
17년 전 조회 1,147
17년 전 조회 1,401
17년 전 조회 1,764
17년 전 조회 2,358
17년 전 조회 2,447
17년 전 조회 1,442
17년 전 조회 1,197
17년 전 조회 2,467
17년 전 조회 2,888
17년 전 조회 3,260
17년 전 조회 3,195
17년 전 조회 2,356
17년 전 조회 3,778
17년 전 조회 3,202
17년 전 조회 5,528
17년 전 조회 2,682
17년 전 조회 1,889
17년 전 조회 1,960
17년 전 조회 1,800
17년 전 조회 1,733
17년 전 조회 2,793
17년 전 조회 1,913
17년 전 조회 1,600
17년 전 조회 2,097
17년 전 조회 1,148
17년 전 조회 1,695
17년 전 조회 2,905
17년 전 조회 2,149
17년 전 조회 1,834
17년 전 조회 2,049
17년 전 조회 1,355
17년 전 조회 1,729
17년 전 조회 1,244
17년 전 조회 1,800
17년 전 조회 1,812
17년 전 조회 1,068
17년 전 조회 3,163
17년 전 조회 4,343
17년 전 조회 2,482
17년 전 조회 7,499
17년 전 조회 3,846
17년 전 조회 4,190
17년 전 조회 2,447
17년 전 조회 2,913
17년 전 조회 3,662
17년 전 조회 4,026
17년 전 조회 3,187
17년 전 조회 3,171
17년 전 조회 3,325
17년 전 조회 2,486
17년 전 조회 2,084
17년 전 조회 3,129
17년 전 조회 3,279
17년 전 조회 4,634
17년 전 조회 1,606
17년 전 조회 2,642
17년 전 조회 2,716
17년 전 조회 1,931
17년 전 조회 2,239
17년 전 조회 1,867
17년 전 조회 2,403
17년 전 조회 3,798
17년 전 조회 3,913