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

· 17년 전 · 3857
-- 년월일
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,339
17년 전 조회 1,225
17년 전 조회 1,331
17년 전 조회 2,516
17년 전 조회 4,304
17년 전 조회 1,286
17년 전 조회 4,051
17년 전 조회 4,198
17년 전 조회 1,311
17년 전 조회 2,275
17년 전 조회 1,720
17년 전 조회 3,327
17년 전 조회 1,460
17년 전 조회 3,704
17년 전 조회 3,510
17년 전 조회 2,673
17년 전 조회 3,043
17년 전 조회 2,731
17년 전 조회 2,055
17년 전 조회 3,415
17년 전 조회 2,739
17년 전 조회 3,630
17년 전 조회 1,240
17년 전 조회 2,361
17년 전 조회 1,418
17년 전 조회 1,288
17년 전 조회 1,167
17년 전 조회 1,146
17년 전 조회 1,528
17년 전 조회 2,976
17년 전 조회 3,363
17년 전 조회 3,112
17년 전 조회 1,986
17년 전 조회 4,098
17년 전 조회 1,506
17년 전 조회 1,229
17년 전 조회 1,344
17년 전 조회 1,219
17년 전 조회 1,461
17년 전 조회 1,824
17년 전 조회 2,443
17년 전 조회 2,516
17년 전 조회 1,511
17년 전 조회 1,267
17년 전 조회 2,529
17년 전 조회 2,965
17년 전 조회 3,327
17년 전 조회 3,283
17년 전 조회 2,437
17년 전 조회 3,858
17년 전 조회 3,285
17년 전 조회 5,600
17년 전 조회 2,765
17년 전 조회 1,968
17년 전 조회 2,045
17년 전 조회 1,875
17년 전 조회 1,808
17년 전 조회 2,876
17년 전 조회 1,995
17년 전 조회 1,670
17년 전 조회 2,177
17년 전 조회 1,215
17년 전 조회 1,781
17년 전 조회 2,984
17년 전 조회 2,224
17년 전 조회 1,909
17년 전 조회 2,134
17년 전 조회 1,428
17년 전 조회 1,816
17년 전 조회 1,326
17년 전 조회 1,886
17년 전 조회 1,885
17년 전 조회 1,139
17년 전 조회 3,250
17년 전 조회 4,420
17년 전 조회 2,570
17년 전 조회 7,578
17년 전 조회 3,934
17년 전 조회 4,261
17년 전 조회 2,519
17년 전 조회 2,992
17년 전 조회 3,746
17년 전 조회 4,098
17년 전 조회 3,259
17년 전 조회 3,249
17년 전 조회 3,403
17년 전 조회 2,567
17년 전 조회 2,158
17년 전 조회 3,204
17년 전 조회 3,367
17년 전 조회 4,704
17년 전 조회 1,689
17년 전 조회 2,722
17년 전 조회 2,798
17년 전 조회 2,009
17년 전 조회 2,314
17년 전 조회 1,938
17년 전 조회 2,482
17년 전 조회 3,876
17년 전 조회 3,989