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

· 17년 전 · 3784
-- 년월일
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,278
17년 전 조회 1,165
17년 전 조회 1,274
17년 전 조회 2,439
17년 전 조회 4,230
17년 전 조회 1,234
17년 전 조회 3,979
17년 전 조회 4,132
17년 전 조회 1,248
17년 전 조회 2,212
17년 전 조회 1,658
17년 전 조회 3,253
17년 전 조회 1,397
17년 전 조회 3,639
17년 전 조회 3,435
17년 전 조회 2,601
17년 전 조회 2,974
17년 전 조회 2,665
17년 전 조회 1,981
17년 전 조회 3,346
17년 전 조회 2,667
17년 전 조회 3,556
17년 전 조회 1,177
17년 전 조회 2,288
17년 전 조회 1,359
17년 전 조회 1,235
17년 전 조회 1,103
17년 전 조회 1,085
17년 전 조회 1,455
17년 전 조회 2,897
17년 전 조회 3,292
17년 전 조회 3,037
17년 전 조회 1,916
17년 전 조회 4,021
17년 전 조회 1,442
17년 전 조회 1,162
17년 전 조회 1,274
17년 전 조회 1,152
17년 전 조회 1,401
17년 전 조회 1,768
17년 전 조회 2,361
17년 전 조회 2,452
17년 전 조회 1,449
17년 전 조회 1,204
17년 전 조회 2,470
17년 전 조회 2,893
17년 전 조회 3,265
17년 전 조회 3,203
17년 전 조회 2,356
17년 전 조회 3,785
17년 전 조회 3,206
17년 전 조회 5,531
17년 전 조회 2,684
17년 전 조회 1,894
17년 전 조회 1,967
17년 전 조회 1,804
17년 전 조회 1,736
17년 전 조회 2,799
17년 전 조회 1,917
17년 전 조회 1,602
17년 전 조회 2,100
17년 전 조회 1,151
17년 전 조회 1,698
17년 전 조회 2,906
17년 전 조회 2,152
17년 전 조회 1,836
17년 전 조회 2,056
17년 전 조회 1,356
17년 전 조회 1,735
17년 전 조회 1,248
17년 전 조회 1,802
17년 전 조회 1,813
17년 전 조회 1,072
17년 전 조회 3,165
17년 전 조회 4,346
17년 전 조회 2,487
17년 전 조회 7,504
17년 전 조회 3,851
17년 전 조회 4,192
17년 전 조회 2,452
17년 전 조회 2,918
17년 전 조회 3,664
17년 전 조회 4,033
17년 전 조회 3,190
17년 전 조회 3,176
17년 전 조회 3,328
17년 전 조회 2,488
17년 전 조회 2,089
17년 전 조회 3,133
17년 전 조회 3,287
17년 전 조회 4,637
17년 전 조회 1,613
17년 전 조회 2,643
17년 전 조회 2,723
17년 전 조회 1,938
17년 전 조회 2,241
17년 전 조회 1,868
17년 전 조회 2,408
17년 전 조회 3,801
17년 전 조회 3,917