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

· 17년 전 · 3919
-- 년월일
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,392
17년 전 조회 1,277
17년 전 조회 1,386
17년 전 조회 2,567
17년 전 조회 4,370
17년 전 조회 1,341
17년 전 조회 4,099
17년 전 조회 4,256
17년 전 조회 1,370
17년 전 조회 2,332
17년 전 조회 1,781
17년 전 조회 3,378
17년 전 조회 1,522
17년 전 조회 3,764
17년 전 조회 3,556
17년 전 조회 2,736
17년 전 조회 3,100
17년 전 조회 2,792
17년 전 조회 2,116
17년 전 조회 3,468
17년 전 조회 2,801
17년 전 조회 3,683
17년 전 조회 1,294
17년 전 조회 2,420
17년 전 조회 1,481
17년 전 조회 1,342
17년 전 조회 1,224
17년 전 조회 1,203
17년 전 조회 1,586
17년 전 조회 3,025
17년 전 조회 3,411
17년 전 조회 3,168
17년 전 조회 2,049
17년 전 조회 4,163
17년 전 조회 1,570
17년 전 조회 1,282
17년 전 조회 1,396
17년 전 조회 1,270
17년 전 조회 1,509
17년 전 조회 1,891
17년 전 조회 2,501
17년 전 조회 2,579
17년 전 조회 1,573
17년 전 조회 1,326
17년 전 조회 2,591
17년 전 조회 3,025
17년 전 조회 3,391
17년 전 조회 3,344
17년 전 조회 2,498
17년 전 조회 3,920
17년 전 조회 3,349
17년 전 조회 5,658
17년 전 조회 2,813
17년 전 조회 2,025
17년 전 조회 2,101
17년 전 조회 1,941
17년 전 조회 1,878
17년 전 조회 2,934
17년 전 조회 2,056
17년 전 조회 1,731
17년 전 조회 2,231
17년 전 조회 1,277
17년 전 조회 1,829
17년 전 조회 3,046
17년 전 조회 2,285
17년 전 조회 1,957
17년 전 조회 2,194
17년 전 조회 1,481
17년 전 조회 1,875
17년 전 조회 1,382
17년 전 조회 1,933
17년 전 조회 1,948
17년 전 조회 1,201
17년 전 조회 3,300
17년 전 조회 4,471
17년 전 조회 2,625
17년 전 조회 7,631
17년 전 조회 3,997
17년 전 조회 4,318
17년 전 조회 2,581
17년 전 조회 3,060
17년 전 조회 3,809
17년 전 조회 4,151
17년 전 조회 3,319
17년 전 조회 3,306
17년 전 조회 3,461
17년 전 조회 2,632
17년 전 조회 2,220
17년 전 조회 3,256
17년 전 조회 3,424
17년 전 조회 4,757
17년 전 조회 1,735
17년 전 조회 2,773
17년 전 조회 2,841
17년 전 조회 2,062
17년 전 조회 2,365
17년 전 조회 1,995
17년 전 조회 2,537
17년 전 조회 3,937
17년 전 조회 4,043