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

· 17년 전 · 3767
-- 년월일
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,257
17년 전 조회 1,147
17년 전 조회 1,262
17년 전 조회 2,419
17년 전 조회 4,212
17년 전 조회 1,208
17년 전 조회 3,961
17년 전 조회 4,118
17년 전 조회 1,229
17년 전 조회 2,195
17년 전 조회 1,638
17년 전 조회 3,233
17년 전 조회 1,374
17년 전 조회 3,618
17년 전 조회 3,407
17년 전 조회 2,580
17년 전 조회 2,954
17년 전 조회 2,645
17년 전 조회 1,956
17년 전 조회 3,330
17년 전 조회 2,642
17년 전 조회 3,537
17년 전 조회 1,165
17년 전 조회 2,269
17년 전 조회 1,340
17년 전 조회 1,211
17년 전 조회 1,083
17년 전 조회 1,063
17년 전 조회 1,439
17년 전 조회 2,877
17년 전 조회 3,273
17년 전 조회 3,017
17년 전 조회 1,896
17년 전 조회 4,012
17년 전 조회 1,426
17년 전 조회 1,139
17년 전 조회 1,251
17년 전 조회 1,132
17년 전 조회 1,384
17년 전 조회 1,755
17년 전 조회 2,343
17년 전 조회 2,435
17년 전 조회 1,433
17년 전 조회 1,184
17년 전 조회 2,453
17년 전 조회 2,876
17년 전 조회 3,247
17년 전 조회 3,184
17년 전 조회 2,343
17년 전 조회 3,768
17년 전 조회 3,188
17년 전 조회 5,514
17년 전 조회 2,670
17년 전 조회 1,872
17년 전 조회 1,947
17년 전 조회 1,786
17년 전 조회 1,724
17년 전 조회 2,784
17년 전 조회 1,903
17년 전 조회 1,585
17년 전 조회 2,080
17년 전 조회 1,141
17년 전 조회 1,681
17년 전 조회 2,888
17년 전 조회 2,137
17년 전 조회 1,825
17년 전 조회 2,040
17년 전 조회 1,337
17년 전 조회 1,719
17년 전 조회 1,235
17년 전 조회 1,785
17년 전 조회 1,802
17년 전 조회 1,056
17년 전 조회 3,153
17년 전 조회 4,328
17년 전 조회 2,476
17년 전 조회 7,481
17년 전 조회 3,840
17년 전 조회 4,173
17년 전 조회 2,432
17년 전 조회 2,900
17년 전 조회 3,643
17년 전 조회 4,014
17년 전 조회 3,172
17년 전 조회 3,164
17년 전 조회 3,310
17년 전 조회 2,475
17년 전 조회 2,074
17년 전 조회 3,119
17년 전 조회 3,263
17년 전 조회 4,622
17년 전 조회 1,598
17년 전 조회 2,633
17년 전 조회 2,703
17년 전 조회 1,921
17년 전 조회 2,230
17년 전 조회 1,848
17년 전 조회 2,390
17년 전 조회 3,789
17년 전 조회 3,902