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

· 17년 전 · 3884
-- 년월일
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,362
17년 전 조회 1,250
17년 전 조회 1,357
17년 전 조회 2,532
17년 전 조회 4,339
17년 전 조회 1,310
17년 전 조회 4,068
17년 전 조회 4,223
17년 전 조회 1,343
17년 전 조회 2,301
17년 전 조회 1,748
17년 전 조회 3,350
17년 전 조회 1,491
17년 전 조회 3,732
17년 전 조회 3,527
17년 전 조회 2,705
17년 전 조회 3,071
17년 전 조회 2,757
17년 전 조회 2,077
17년 전 조회 3,437
17년 전 조회 2,769
17년 전 조회 3,659
17년 전 조회 1,266
17년 전 조회 2,381
17년 전 조회 1,450
17년 전 조회 1,311
17년 전 조회 1,189
17년 전 조회 1,177
17년 전 조회 1,553
17년 전 조회 3,004
17년 전 조회 3,387
17년 전 조회 3,144
17년 전 조회 2,014
17년 전 조회 4,126
17년 전 조회 1,539
17년 전 조회 1,251
17년 전 조회 1,371
17년 전 조회 1,244
17년 전 조회 1,481
17년 전 조회 1,859
17년 전 조회 2,472
17년 전 조회 2,543
17년 전 조회 1,540
17년 전 조회 1,294
17년 전 조회 2,563
17년 전 조회 2,992
17년 전 조회 3,358
17년 전 조회 3,312
17년 전 조회 2,469
17년 전 조회 3,885
17년 전 조회 3,314
17년 전 조회 5,631
17년 전 조회 2,791
17년 전 조회 1,994
17년 전 조회 2,070
17년 전 조회 1,910
17년 전 조회 1,845
17년 전 조회 2,902
17년 전 조회 2,023
17년 전 조회 1,704
17년 전 조회 2,205
17년 전 조회 1,246
17년 전 조회 1,811
17년 전 조회 3,020
17년 전 조회 2,256
17년 전 조회 1,932
17년 전 조회 2,161
17년 전 조회 1,455
17년 전 조회 1,844
17년 전 조회 1,349
17년 전 조회 1,903
17년 전 조회 1,912
17년 전 조회 1,174
17년 전 조회 3,279
17년 전 조회 4,442
17년 전 조회 2,597
17년 전 조회 7,598
17년 전 조회 3,960
17년 전 조회 4,286
17년 전 조회 2,547
17년 전 조회 3,025
17년 전 조회 3,769
17년 전 조회 4,120
17년 전 조회 3,293
17년 전 조회 3,275
17년 전 조회 3,437
17년 전 조회 2,598
17년 전 조회 2,187
17년 전 조회 3,230
17년 전 조회 3,396
17년 전 조회 4,735
17년 전 조회 1,710
17년 전 조회 2,746
17년 전 조회 2,826
17년 전 조회 2,032
17년 전 조회 2,342
17년 전 조회 1,967
17년 전 조회 2,507
17년 전 조회 3,902
17년 전 조회 4,015