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

· 17년 전 · 3775
-- 년월일
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,269
17년 전 조회 1,156
17년 전 조회 1,270
17년 전 조회 2,431
17년 전 조회 4,221
17년 전 조회 1,223
17년 전 조회 3,972
17년 전 조회 4,128
17년 전 조회 1,238
17년 전 조회 2,206
17년 전 조회 1,650
17년 전 조회 3,244
17년 전 조회 1,385
17년 전 조회 3,631
17년 전 조회 3,427
17년 전 조회 2,588
17년 전 조회 2,966
17년 전 조회 2,657
17년 전 조회 1,974
17년 전 조회 3,340
17년 전 조회 2,658
17년 전 조회 3,550
17년 전 조회 1,172
17년 전 조회 2,281
17년 전 조회 1,348
17년 전 조회 1,225
17년 전 조회 1,095
17년 전 조회 1,076
17년 전 조회 1,449
17년 전 조회 2,890
17년 전 조회 3,289
17년 전 조회 3,029
17년 전 조회 1,910
17년 전 조회 4,019
17년 전 조회 1,435
17년 전 조회 1,155
17년 전 조회 1,265
17년 전 조회 1,142
17년 전 조회 1,400
17년 전 조회 1,762
17년 전 조회 2,354
17년 전 조회 2,445
17년 전 조회 1,440
17년 전 조회 1,194
17년 전 조회 2,463
17년 전 조회 2,885
17년 전 조회 3,258
17년 전 조회 3,195
17년 전 조회 2,355
17년 전 조회 3,776
17년 전 조회 3,197
17년 전 조회 5,524
17년 전 조회 2,679
17년 전 조회 1,885
17년 전 조회 1,959
17년 전 조회 1,795
17년 전 조회 1,732
17년 전 조회 2,791
17년 전 조회 1,910
17년 전 조회 1,595
17년 전 조회 2,092
17년 전 조회 1,148
17년 전 조회 1,692
17년 전 조회 2,902
17년 전 조회 2,148
17년 전 조회 1,833
17년 전 조회 2,048
17년 전 조회 1,349
17년 전 조회 1,728
17년 전 조회 1,241
17년 전 조회 1,797
17년 전 조회 1,809
17년 전 조회 1,065
17년 전 조회 3,163
17년 전 조회 4,340
17년 전 조회 2,482
17년 전 조회 7,494
17년 전 조회 3,844
17년 전 조회 4,185
17년 전 조회 2,446
17년 전 조회 2,912
17년 전 조회 3,653
17년 전 조회 4,023
17년 전 조회 3,182
17년 전 조회 3,169
17년 전 조회 3,322
17년 전 조회 2,484
17년 전 조회 2,084
17년 전 조회 3,128
17년 전 조회 3,274
17년 전 조회 4,633
17년 전 조회 1,603
17년 전 조회 2,638
17년 전 조회 2,712
17년 전 조회 1,927
17년 전 조회 2,238
17년 전 조회 1,859
17년 전 조회 2,400
17년 전 조회 3,796
17년 전 조회 3,911