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

· 17년 전 · 3808
-- 년월일
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,305
17년 전 조회 1,194
17년 전 조회 1,301
17년 전 조회 2,456
17년 전 조회 4,251
17년 전 조회 1,258
17년 전 조회 4,002
17년 전 조회 4,160
17년 전 조회 1,271
17년 전 조회 2,242
17년 전 조회 1,682
17년 전 조회 3,277
17년 전 조회 1,422
17년 전 조회 3,661
17년 전 조회 3,456
17년 전 조회 2,622
17년 전 조회 2,996
17년 전 조회 2,688
17년 전 조회 2,007
17년 전 조회 3,370
17년 전 조회 2,695
17년 전 조회 3,578
17년 전 조회 1,205
17년 전 조회 2,312
17년 전 조회 1,382
17년 전 조회 1,258
17년 전 조회 1,127
17년 전 조회 1,111
17년 전 조회 1,478
17년 전 조회 2,914
17년 전 조회 3,321
17년 전 조회 3,059
17년 전 조회 1,940
17년 전 조회 4,043
17년 전 조회 1,466
17년 전 조회 1,193
17년 전 조회 1,304
17년 전 조회 1,175
17년 전 조회 1,423
17년 전 조회 1,793
17년 전 조회 2,385
17년 전 조회 2,470
17년 전 조회 1,480
17년 전 조회 1,233
17년 전 조회 2,491
17년 전 조회 2,915
17년 전 조회 3,286
17년 전 조회 3,228
17년 전 조회 2,386
17년 전 조회 3,809
17년 전 조회 3,230
17년 전 조회 5,558
17년 전 조회 2,706
17년 전 조회 1,921
17년 전 조회 1,991
17년 전 조회 1,828
17년 전 조회 1,762
17년 전 조회 2,822
17년 전 조회 1,944
17년 전 조회 1,623
17년 전 조회 2,123
17년 전 조회 1,176
17년 전 조회 1,723
17년 전 조회 2,931
17년 전 조회 2,176
17년 전 조회 1,856
17년 전 조회 2,081
17년 전 조회 1,381
17년 전 조회 1,760
17년 전 조회 1,273
17년 전 조회 1,832
17년 전 조회 1,848
17년 전 조회 1,102
17년 전 조회 3,197
17년 전 조회 4,372
17년 전 조회 2,516
17년 전 조회 7,532
17년 전 조회 3,879
17년 전 조회 4,217
17년 전 조회 2,477
17년 전 조회 2,948
17년 전 조회 3,690
17년 전 조회 4,054
17년 전 조회 3,206
17년 전 조회 3,203
17년 전 조회 3,355
17년 전 조회 2,512
17년 전 조회 2,103
17년 전 조회 3,156
17년 전 조회 3,314
17년 전 조회 4,663
17년 전 조회 1,649
17년 전 조회 2,668
17년 전 조회 2,748
17년 전 조회 1,958
17년 전 조회 2,278
17년 전 조회 1,886
17년 전 조회 2,441
17년 전 조회 3,831
17년 전 조회 3,939