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

· 17년 전 · 3974
-- 년월일
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,445
17년 전 조회 1,337
17년 전 조회 1,438
17년 전 조회 2,620
17년 전 조회 4,432
17년 전 조회 1,391
17년 전 조회 4,159
17년 전 조회 4,309
17년 전 조회 1,410
17년 전 조회 2,389
17년 전 조회 1,835
17년 전 조회 3,433
17년 전 조회 1,572
17년 전 조회 3,820
17년 전 조회 3,623
17년 전 조회 2,792
17년 전 조회 3,153
17년 전 조회 2,859
17년 전 조회 2,168
17년 전 조회 3,528
17년 전 조회 2,856
17년 전 조회 3,739
17년 전 조회 1,352
17년 전 조회 2,473
17년 전 조회 1,535
17년 전 조회 1,396
17년 전 조회 1,273
17년 전 조회 1,264
17년 전 조회 1,635
17년 전 조회 3,085
17년 전 조회 3,467
17년 전 조회 3,228
17년 전 조회 2,111
17년 전 조회 4,223
17년 전 조회 1,612
17년 전 조회 1,330
17년 전 조회 1,454
17년 전 조회 1,321
17년 전 조회 1,559
17년 전 조회 1,941
17년 전 조회 2,555
17년 전 조회 2,628
17년 전 조회 1,629
17년 전 조회 1,380
17년 전 조회 2,653
17년 전 조회 3,082
17년 전 조회 3,446
17년 전 조회 3,396
17년 전 조회 2,554
17년 전 조회 3,975
17년 전 조회 3,402
17년 전 조회 5,708
17년 전 조회 2,876
17년 전 조회 2,081
17년 전 조회 2,159
17년 전 조회 1,994
17년 전 조회 1,942
17년 전 조회 3,003
17년 전 조회 2,111
17년 전 조회 1,786
17년 전 조회 2,294
17년 전 조회 1,332
17년 전 조회 1,888
17년 전 조회 3,098
17년 전 조회 2,351
17년 전 조회 2,018
17년 전 조회 2,254
17년 전 조회 1,536
17년 전 조회 1,933
17년 전 조회 1,455
17년 전 조회 1,986
17년 전 조회 2,002
17년 전 조회 1,252
17년 전 조회 3,362
17년 전 조회 4,526
17년 전 조회 2,693
17년 전 조회 7,694
17년 전 조회 4,054
17년 전 조회 4,368
17년 전 조회 2,643
17년 전 조회 3,125
17년 전 조회 3,867
17년 전 조회 4,211
17년 전 조회 3,388
17년 전 조회 3,362
17년 전 조회 3,520
17년 전 조회 2,689
17년 전 조회 2,277
17년 전 조회 3,313
17년 전 조회 3,480
17년 전 조회 4,815
17년 전 조회 1,793
17년 전 조회 2,833
17년 전 조회 2,902
17년 전 조회 2,121
17년 전 조회 2,413
17년 전 조회 2,056
17년 전 조회 2,598
17년 전 조회 4,000
17년 전 조회 4,104