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

· 17년 전 · 3972
-- 년월일
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,440
17년 전 조회 1,330
17년 전 조회 1,430
17년 전 조회 2,615
17년 전 조회 4,424
17년 전 조회 1,386
17년 전 조회 4,153
17년 전 조회 4,305
17년 전 조회 1,407
17년 전 조회 2,385
17년 전 조회 1,832
17년 전 조회 3,427
17년 전 조회 1,565
17년 전 조회 3,814
17년 전 조회 3,614
17년 전 조회 2,785
17년 전 조회 3,147
17년 전 조회 2,854
17년 전 조회 2,161
17년 전 조회 3,522
17년 전 조회 2,852
17년 전 조회 3,735
17년 전 조회 1,348
17년 전 조회 2,469
17년 전 조회 1,525
17년 전 조회 1,389
17년 전 조회 1,268
17년 전 조회 1,261
17년 전 조회 1,629
17년 전 조회 3,078
17년 전 조회 3,462
17년 전 조회 3,220
17년 전 조회 2,103
17년 전 조회 4,215
17년 전 조회 1,611
17년 전 조회 1,329
17년 전 조회 1,450
17년 전 조회 1,318
17년 전 조회 1,556
17년 전 조회 1,935
17년 전 조회 2,551
17년 전 조회 2,622
17년 전 조회 1,623
17년 전 조회 1,375
17년 전 조회 2,640
17년 전 조회 3,076
17년 전 조회 3,439
17년 전 조회 3,392
17년 전 조회 2,547
17년 전 조회 3,973
17년 전 조회 3,397
17년 전 조회 5,706
17년 전 조회 2,872
17년 전 조회 2,076
17년 전 조회 2,155
17년 전 조회 1,991
17년 전 조회 1,935
17년 전 조회 3,000
17년 전 조회 2,110
17년 전 조회 1,778
17년 전 조회 2,286
17년 전 조회 1,329
17년 전 조회 1,882
17년 전 조회 3,093
17년 전 조회 2,340
17년 전 조회 2,012
17년 전 조회 2,246
17년 전 조회 1,529
17년 전 조회 1,931
17년 전 조회 1,447
17년 전 조회 1,983
17년 전 조회 1,998
17년 전 조회 1,249
17년 전 조회 3,359
17년 전 조회 4,520
17년 전 조회 2,687
17년 전 조회 7,690
17년 전 조회 4,048
17년 전 조회 4,364
17년 전 조회 2,638
17년 전 조회 3,121
17년 전 조회 3,862
17년 전 조회 4,206
17년 전 조회 3,383
17년 전 조회 3,355
17년 전 조회 3,515
17년 전 조회 2,683
17년 전 조회 2,272
17년 전 조회 3,307
17년 전 조회 3,469
17년 전 조회 4,807
17년 전 조회 1,786
17년 전 조회 2,825
17년 전 조회 2,898
17년 전 조회 2,114
17년 전 조회 2,409
17년 전 조회 2,042
17년 전 조회 2,595
17년 전 조회 3,994
17년 전 조회 4,102