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

· 17년 전 · 3818
-- 년월일
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,315
17년 전 조회 1,200
17년 전 조회 1,307
17년 전 조회 2,475
17년 전 조회 4,259
17년 전 조회 1,262
17년 전 조회 4,016
17년 전 조회 4,170
17년 전 조회 1,284
17년 전 조회 2,249
17년 전 조회 1,691
17년 전 조회 3,294
17년 전 조회 1,430
17년 전 조회 3,672
17년 전 조회 3,469
17년 전 조회 2,630
17년 전 조회 3,001
17년 전 조회 2,701
17년 전 조회 2,020
17년 전 조회 3,377
17년 전 조회 2,703
17년 전 조회 3,590
17년 전 조회 1,210
17년 전 조회 2,324
17년 전 조회 1,393
17년 전 조회 1,262
17년 전 조회 1,132
17년 전 조회 1,118
17년 전 조회 1,493
17년 전 조회 2,929
17년 전 조회 3,328
17년 전 조회 3,071
17년 전 조회 1,950
17년 전 조회 4,054
17년 전 조회 1,477
17년 전 조회 1,203
17년 전 조회 1,309
17년 전 조회 1,185
17년 전 조회 1,432
17년 전 조회 1,796
17년 전 조회 2,400
17년 전 조회 2,483
17년 전 조회 1,487
17년 전 조회 1,242
17년 전 조회 2,499
17년 전 조회 2,924
17년 전 조회 3,299
17년 전 조회 3,238
17년 전 조회 2,392
17년 전 조회 3,819
17년 전 조회 3,246
17년 전 조회 5,566
17년 전 조회 2,719
17년 전 조회 1,931
17년 전 조회 2,002
17년 전 조회 1,840
17년 전 조회 1,774
17년 전 조회 2,836
17년 전 조회 1,959
17년 전 조회 1,632
17년 전 조회 2,139
17년 전 조회 1,188
17년 전 조회 1,731
17년 전 조회 2,946
17년 전 조회 2,190
17년 전 조회 1,870
17년 전 조회 2,095
17년 전 조회 1,395
17년 전 조회 1,780
17년 전 조회 1,287
17년 전 조회 1,838
17년 전 조회 1,856
17년 전 조회 1,111
17년 전 조회 3,209
17년 전 조회 4,379
17년 전 조회 2,532
17년 전 조회 7,541
17년 전 조회 3,891
17년 전 조회 4,229
17년 전 조회 2,488
17년 전 조회 2,958
17년 전 조회 3,700
17년 전 조회 4,063
17년 전 조회 3,221
17년 전 조회 3,212
17년 전 조회 3,365
17년 전 조회 2,524
17년 전 조회 2,117
17년 전 조회 3,171
17년 전 조회 3,329
17년 전 조회 4,673
17년 전 조회 1,656
17년 전 조회 2,673
17년 전 조회 2,757
17년 전 조회 1,967
17년 전 조회 2,287
17년 전 조회 1,894
17년 전 조회 2,452
17년 전 조회 3,849
17년 전 조회 3,946