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

· 17년 전 · 3763
-- 년월일
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,256
17년 전 조회 1,145
17년 전 조회 1,259
17년 전 조회 2,416
17년 전 조회 4,206
17년 전 조회 1,204
17년 전 조회 3,960
17년 전 조회 4,115
17년 전 조회 1,226
17년 전 조회 2,192
17년 전 조회 1,634
17년 전 조회 3,231
17년 전 조회 1,370
17년 전 조회 3,615
17년 전 조회 3,403
17년 전 조회 2,577
17년 전 조회 2,949
17년 전 조회 2,641
17년 전 조회 1,956
17년 전 조회 3,328
17년 전 조회 2,638
17년 전 조회 3,534
17년 전 조회 1,164
17년 전 조회 2,263
17년 전 조회 1,338
17년 전 조회 1,208
17년 전 조회 1,081
17년 전 조회 1,061
17년 전 조회 1,436
17년 전 조회 2,874
17년 전 조회 3,270
17년 전 조회 3,012
17년 전 조회 1,894
17년 전 조회 4,009
17년 전 조회 1,423
17년 전 조회 1,137
17년 전 조회 1,248
17년 전 조회 1,130
17년 전 조회 1,381
17년 전 조회 1,753
17년 전 조회 2,342
17년 전 조회 2,429
17년 전 조회 1,431
17년 전 조회 1,182
17년 전 조회 2,451
17년 전 조회 2,872
17년 전 조회 3,242
17년 전 조회 3,182
17년 전 조회 2,340
17년 전 조회 3,764
17년 전 조회 3,186
17년 전 조회 5,511
17년 전 조회 2,667
17년 전 조회 1,868
17년 전 조회 1,944
17년 전 조회 1,784
17년 전 조회 1,722
17년 전 조회 2,780
17년 전 조회 1,899
17년 전 조회 1,580
17년 전 조회 2,076
17년 전 조회 1,140
17년 전 조회 1,676
17년 전 조회 2,887
17년 전 조회 2,132
17년 전 조회 1,822
17년 전 조회 2,039
17년 전 조회 1,336
17년 전 조회 1,718
17년 전 조회 1,231
17년 전 조회 1,783
17년 전 조회 1,800
17년 전 조회 1,053
17년 전 조회 3,152
17년 전 조회 4,327
17년 전 조회 2,474
17년 전 조회 7,480
17년 전 조회 3,838
17년 전 조회 4,170
17년 전 조회 2,431
17년 전 조회 2,898
17년 전 조회 3,641
17년 전 조회 4,014
17년 전 조회 3,168
17년 전 조회 3,160
17년 전 조회 3,306
17년 전 조회 2,472
17년 전 조회 2,072
17년 전 조회 3,118
17년 전 조회 3,262
17년 전 조회 4,622
17년 전 조회 1,598
17년 전 조회 2,629
17년 전 조회 2,702
17년 전 조회 1,917
17년 전 조회 2,229
17년 전 조회 1,845
17년 전 조회 2,385
17년 전 조회 3,786
17년 전 조회 3,901