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

· 17년 전 · 4005
-- 년월일
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,476
17년 전 조회 1,381
17년 전 조회 1,478
17년 전 조회 2,652
17년 전 조회 4,464
17년 전 조회 1,420
17년 전 조회 4,186
17년 전 조회 4,339
17년 전 조회 1,455
17년 전 조회 2,422
17년 전 조회 1,869
17년 전 조회 3,465
17년 전 조회 1,607
17년 전 조회 3,854
17년 전 조회 3,661
17년 전 조회 2,827
17년 전 조회 3,179
17년 전 조회 2,889
17년 전 조회 2,199
17년 전 조회 3,560
17년 전 조회 2,891
17년 전 조회 3,779
17년 전 조회 1,389
17년 전 조회 2,499
17년 전 조회 1,568
17년 전 조회 1,427
17년 전 조회 1,308
17년 전 조회 1,300
17년 전 조회 1,670
17년 전 조회 3,111
17년 전 조회 3,501
17년 전 조회 3,253
17년 전 조회 2,147
17년 전 조회 4,257
17년 전 조회 1,642
17년 전 조회 1,370
17년 전 조회 1,482
17년 전 조회 1,358
17년 전 조회 1,596
17년 전 조회 1,974
17년 전 조회 2,578
17년 전 조회 2,661
17년 전 조회 1,665
17년 전 조회 1,417
17년 전 조회 2,682
17년 전 조회 3,116
17년 전 조회 3,477
17년 전 조회 3,423
17년 전 조회 2,578
17년 전 조회 4,006
17년 전 조회 3,441
17년 전 조회 5,744
17년 전 조회 2,909
17년 전 조회 2,115
17년 전 조회 2,191
17년 전 조회 2,018
17년 전 조회 1,968
17년 전 조회 3,031
17년 전 조회 2,141
17년 전 조회 1,808
17년 전 조회 2,315
17년 전 조회 1,368
17년 전 조회 1,915
17년 전 조회 3,124
17년 전 조회 2,374
17년 전 조회 2,042
17년 전 조회 2,283
17년 전 조회 1,567
17년 전 조회 1,968
17년 전 조회 1,481
17년 전 조회 2,010
17년 전 조회 2,042
17년 전 조회 1,286
17년 전 조회 3,388
17년 전 조회 4,557
17년 전 조회 2,719
17년 전 조회 7,731
17년 전 조회 4,088
17년 전 조회 4,401
17년 전 조회 2,665
17년 전 조회 3,151
17년 전 조회 3,896
17년 전 조회 4,242
17년 전 조회 3,417
17년 전 조회 3,393
17년 전 조회 3,541
17년 전 조회 2,717
17년 전 조회 2,304
17년 전 조회 3,344
17년 전 조회 3,510
17년 전 조회 4,843
17년 전 조회 1,825
17년 전 조회 2,856
17년 전 조회 2,931
17년 전 조회 2,153
17년 전 조회 2,444
17년 전 조회 2,085
17년 전 조회 2,636
17년 전 조회 4,027
17년 전 조회 4,131