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

· 17년 전 · 3841
-- 년월일
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,330
17년 전 조회 1,215
17년 전 조회 1,324
17년 전 조회 2,497
17년 전 조회 4,289
17년 전 조회 1,277
17년 전 조회 4,033
17년 전 조회 4,187
17년 전 조회 1,301
17년 전 조회 2,266
17년 전 조회 1,707
17년 전 조회 3,314
17년 전 조회 1,447
17년 전 조회 3,688
17년 전 조회 3,492
17년 전 조회 2,654
17년 전 조회 3,026
17년 전 조회 2,720
17년 전 조회 2,035
17년 전 조회 3,403
17년 전 조회 2,721
17년 전 조회 3,614
17년 전 조회 1,231
17년 전 조회 2,341
17년 전 조회 1,406
17년 전 조회 1,280
17년 전 조회 1,154
17년 전 조회 1,134
17년 전 조회 1,516
17년 전 조회 2,950
17년 전 조회 3,349
17년 전 조회 3,094
17년 전 조회 1,968
17년 전 조회 4,083
17년 전 조회 1,492
17년 전 조회 1,216
17년 전 조회 1,329
17년 전 조회 1,202
17년 전 조회 1,449
17년 전 조회 1,812
17년 전 조회 2,425
17년 전 조회 2,503
17년 전 조회 1,504
17년 전 조회 1,256
17년 전 조회 2,519
17년 전 조회 2,942
17년 전 조회 3,317
17년 전 조회 3,262
17년 전 조회 2,422
17년 전 조회 3,842
17년 전 조회 3,270
17년 전 조회 5,587
17년 전 조회 2,747
17년 전 조회 1,951
17년 전 조회 2,022
17년 전 조회 1,863
17년 전 조회 1,794
17년 전 조회 2,858
17년 전 조회 1,979
17년 전 조회 1,652
17년 전 조회 2,159
17년 전 조회 1,203
17년 전 조회 1,753
17년 전 조회 2,968
17년 전 조회 2,208
17년 전 조회 1,892
17년 전 조회 2,117
17년 전 조회 1,415
17년 전 조회 1,803
17년 전 조회 1,310
17년 전 조회 1,859
17년 전 조회 1,876
17년 전 조회 1,124
17년 전 조회 3,230
17년 전 조회 4,408
17년 전 조회 2,554
17년 전 조회 7,563
17년 전 조회 3,914
17년 전 조회 4,247
17년 전 조회 2,506
17년 전 조회 2,980
17년 전 조회 3,725
17년 전 조회 4,087
17년 전 조회 3,240
17년 전 조회 3,233
17년 전 조회 3,389
17년 전 조회 2,549
17년 전 조회 2,142
17년 전 조회 3,189
17년 전 조회 3,354
17년 전 조회 4,685
17년 전 조회 1,673
17년 전 조회 2,699
17년 전 조회 2,780
17년 전 조회 1,988
17년 전 조회 2,302
17년 전 조회 1,917
17년 전 조회 2,466
17년 전 조회 3,865
17년 전 조회 3,971