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

· 17년 전 · 3930
-- 년월일
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,403
17년 전 조회 1,293
17년 전 조회 1,398
17년 전 조회 2,581
17년 전 조회 4,381
17년 전 조회 1,346
17년 전 조회 4,112
17년 전 조회 4,267
17년 전 조회 1,373
17년 전 조회 2,344
17년 전 조회 1,796
17년 전 조회 3,386
17년 전 조회 1,534
17년 전 조회 3,778
17년 전 조회 3,563
17년 전 조회 2,745
17년 전 조회 3,112
17년 전 조회 2,807
17년 전 조회 2,128
17년 전 조회 3,483
17년 전 조회 2,812
17년 전 조회 3,697
17년 전 조회 1,306
17년 전 조회 2,429
17년 전 조회 1,492
17년 전 조회 1,352
17년 전 조회 1,233
17년 전 조회 1,218
17년 전 조회 1,595
17년 전 조회 3,032
17년 전 조회 3,423
17년 전 조회 3,176
17년 전 조회 2,064
17년 전 조회 4,170
17년 전 조회 1,578
17년 전 조회 1,293
17년 전 조회 1,404
17년 전 조회 1,282
17년 전 조회 1,520
17년 전 조회 1,903
17년 전 조회 2,510
17년 전 조회 2,588
17년 전 조회 1,581
17년 전 조회 1,341
17년 전 조회 2,604
17년 전 조회 3,037
17년 전 조회 3,400
17년 전 조회 3,355
17년 전 조회 2,509
17년 전 조회 3,931
17년 전 조회 3,360
17년 전 조회 5,668
17년 전 조회 2,823
17년 전 조회 2,033
17년 전 조회 2,113
17년 전 조회 1,951
17년 전 조회 1,889
17년 전 조회 2,948
17년 전 조회 2,069
17년 전 조회 1,738
17년 전 조회 2,238
17년 전 조회 1,285
17년 전 조회 1,841
17년 전 조회 3,054
17년 전 조회 2,300
17년 전 조회 1,968
17년 전 조회 2,202
17년 전 조회 1,493
17년 전 조회 1,886
17년 전 조회 1,395
17년 전 조회 1,942
17년 전 조회 1,958
17년 전 조회 1,214
17년 전 조회 3,314
17년 전 조회 4,479
17년 전 조회 2,643
17년 전 조회 7,641
17년 전 조회 4,008
17년 전 조회 4,324
17년 전 조회 2,589
17년 전 조회 3,072
17년 전 조회 3,818
17년 전 조회 4,162
17년 전 조회 3,333
17년 전 조회 3,310
17년 전 조회 3,474
17년 전 조회 2,640
17년 전 조회 2,230
17년 전 조회 3,267
17년 전 조회 3,435
17년 전 조회 4,767
17년 전 조회 1,742
17년 전 조회 2,784
17년 전 조회 2,849
17년 전 조회 2,070
17년 전 조회 2,375
17년 전 조회 2,005
17년 전 조회 2,547
17년 전 조회 3,945
17년 전 조회 4,054