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

· 17년 전 · 3798
-- 년월일
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,299
17년 전 조회 1,183
17년 전 조회 1,294
17년 전 조회 2,453
17년 전 조회 4,245
17년 전 조회 1,243
17년 전 조회 3,992
17년 전 조회 4,146
17년 전 조회 1,265
17년 전 조회 2,233
17년 전 조회 1,678
17년 전 조회 3,268
17년 전 조회 1,410
17년 전 조회 3,654
17년 전 조회 3,448
17년 전 조회 2,617
17년 전 조회 2,987
17년 전 조회 2,678
17년 전 조회 1,997
17년 전 조회 3,361
17년 전 조회 2,679
17년 전 조회 3,571
17년 전 조회 1,201
17년 전 조회 2,303
17년 전 조회 1,373
17년 전 조회 1,250
17년 전 조회 1,118
17년 전 조회 1,101
17년 전 조회 1,469
17년 전 조회 2,909
17년 전 조회 3,307
17년 전 조회 3,050
17년 전 조회 1,933
17년 전 조회 4,037
17년 전 조회 1,459
17년 전 조회 1,179
17년 전 조회 1,293
17년 전 조회 1,165
17년 전 조회 1,418
17년 전 조회 1,786
17년 전 조회 2,377
17년 전 조회 2,464
17년 전 조회 1,468
17년 전 조회 1,227
17년 전 조회 2,483
17년 전 조회 2,907
17년 전 조회 3,277
17년 전 조회 3,218
17년 전 조회 2,369
17년 전 조회 3,799
17년 전 조회 3,223
17년 전 조회 5,552
17년 전 조회 2,697
17년 전 조회 1,912
17년 전 조회 1,984
17년 전 조회 1,819
17년 전 조회 1,750
17년 전 조회 2,808
17년 전 조회 1,928
17년 전 조회 1,615
17년 전 조회 2,111
17년 전 조회 1,171
17년 전 조회 1,715
17년 전 조회 2,922
17년 전 조회 2,167
17년 전 조회 1,850
17년 전 조회 2,074
17년 전 조회 1,372
17년 전 조회 1,752
17년 전 조회 1,269
17년 전 조회 1,824
17년 전 조회 1,837
17년 전 조회 1,092
17년 전 조회 3,184
17년 전 조회 4,365
17년 전 조회 2,506
17년 전 조회 7,521
17년 전 조회 3,870
17년 전 조회 4,204
17년 전 조회 2,469
17년 전 조회 2,932
17년 전 조회 3,677
17년 전 조회 4,048
17년 전 조회 3,200
17년 전 조회 3,195
17년 전 조회 3,344
17년 전 조회 2,506
17년 전 조회 2,097
17년 전 조회 3,145
17년 전 조회 3,308
17년 전 조회 4,655
17년 전 조회 1,635
17년 전 조회 2,662
17년 전 조회 2,742
17년 전 조회 1,952
17년 전 조회 2,264
17년 전 조회 1,881
17년 전 조회 2,428
17년 전 조회 3,823
17년 전 조회 3,931