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

· 17년 전 · 3978
-- 년월일
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,447
17년 전 조회 1,341
17년 전 조회 1,439
17년 전 조회 2,629
17년 전 조회 4,436
17년 전 조회 1,392
17년 전 조회 4,166
17년 전 조회 4,312
17년 전 조회 1,412
17년 전 조회 2,390
17년 전 조회 1,844
17년 전 조회 3,435
17년 전 조회 1,576
17년 전 조회 3,824
17년 전 조회 3,627
17년 전 조회 2,794
17년 전 조회 3,156
17년 전 조회 2,865
17년 전 조회 2,172
17년 전 조회 3,535
17년 전 조회 2,862
17년 전 조회 3,743
17년 전 조회 1,353
17년 전 조회 2,477
17년 전 조회 1,538
17년 전 조회 1,396
17년 전 조회 1,277
17년 전 조회 1,267
17년 전 조회 1,640
17년 전 조회 3,086
17년 전 조회 3,469
17년 전 조회 3,230
17년 전 조회 2,114
17년 전 조회 4,224
17년 전 조회 1,613
17년 전 조회 1,333
17년 전 조회 1,457
17년 전 조회 1,322
17년 전 조회 1,562
17년 전 조회 1,946
17년 전 조회 2,558
17년 전 조회 2,632
17년 전 조회 1,634
17년 전 조회 1,383
17년 전 조회 2,654
17년 전 조회 3,086
17년 전 조회 3,447
17년 전 조회 3,400
17년 전 조회 2,555
17년 전 조회 3,979
17년 전 조회 3,404
17년 전 조회 5,712
17년 전 조회 2,880
17년 전 조회 2,087
17년 전 조회 2,163
17년 전 조회 1,998
17년 전 조회 1,947
17년 전 조회 3,006
17년 전 조회 2,114
17년 전 조회 1,791
17년 전 조회 2,295
17년 전 조회 1,337
17년 전 조회 1,891
17년 전 조회 3,105
17년 전 조회 2,353
17년 전 조회 2,023
17년 전 조회 2,258
17년 전 조회 1,541
17년 전 조회 1,938
17년 전 조회 1,459
17년 전 조회 1,988
17년 전 조회 2,005
17년 전 조회 1,258
17년 전 조회 3,365
17년 전 조회 4,527
17년 전 조회 2,697
17년 전 조회 7,695
17년 전 조회 4,055
17년 전 조회 4,375
17년 전 조회 2,645
17년 전 조회 3,128
17년 전 조회 3,869
17년 전 조회 4,212
17년 전 조회 3,389
17년 전 조회 3,364
17년 전 조회 3,524
17년 전 조회 2,690
17년 전 조회 2,281
17년 전 조회 3,317
17년 전 조회 3,482
17년 전 조회 4,816
17년 전 조회 1,795
17년 전 조회 2,834
17년 전 조회 2,907
17년 전 조회 2,123
17년 전 조회 2,413
17년 전 조회 2,058
17년 전 조회 2,601
17년 전 조회 4,001
17년 전 조회 4,107