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

· 17년 전 · 4115
-- 년월일
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,598
17년 전 조회 1,486
17년 전 조회 1,588
17년 전 조회 2,773
17년 전 조회 4,589
17년 전 조회 1,527
17년 전 조회 4,291
17년 전 조회 4,465
17년 전 조회 1,576
17년 전 조회 2,552
17년 전 조회 1,980
17년 전 조회 3,589
17년 전 조회 1,727
17년 전 조회 3,994
17년 전 조회 3,768
17년 전 조회 2,948
17년 전 조회 3,314
17년 전 조회 3,021
17년 전 조회 2,326
17년 전 조회 3,678
17년 전 조회 3,012
17년 전 조회 3,889
17년 전 조회 1,511
17년 전 조회 2,621
17년 전 조회 1,690
17년 전 조회 1,555
17년 전 조회 1,433
17년 전 조회 1,415
17년 전 조회 1,782
17년 전 조회 3,226
17년 전 조회 3,614
17년 전 조회 3,370
17년 전 조회 2,258
17년 전 조회 4,368
17년 전 조회 1,762
17년 전 조회 1,497
17년 전 조회 1,616
17년 전 조회 1,469
17년 전 조회 1,719
17년 전 조회 2,103
17년 전 조회 2,695
17년 전 조회 2,771
17년 전 조회 1,786
17년 전 조회 1,546
17년 전 조회 2,787
17년 전 조회 3,234
17년 전 조회 3,588
17년 전 조회 3,529
17년 전 조회 2,718
17년 전 조회 4,116
17년 전 조회 3,551
17년 전 조회 5,856
17년 전 조회 3,018
17년 전 조회 2,217
17년 전 조회 2,299
17년 전 조회 2,133
17년 전 조회 2,080
17년 전 조회 3,140
17년 전 조회 2,251
17년 전 조회 1,905
17년 전 조회 2,437
17년 전 조회 1,474
17년 전 조회 2,038
17년 전 조회 3,265
17년 전 조회 2,509
17년 전 조회 2,153
17년 전 조회 2,376
17년 전 조회 1,695
17년 전 조회 2,095
17년 전 조회 1,590
17년 전 조회 2,115
17년 전 조회 2,152
17년 전 조회 1,395
17년 전 조회 3,487
17년 전 조회 4,668
17년 전 조회 2,817
17년 전 조회 7,834
17년 전 조회 4,193
17년 전 조회 4,515
17년 전 조회 2,765
17년 전 조회 3,272
17년 전 조회 4,002
17년 전 조회 4,342
17년 전 조회 3,524
17년 전 조회 3,530
17년 전 조회 3,652
17년 전 조회 2,798
17년 전 조회 2,408
17년 전 조회 3,453
17년 전 조회 3,624
17년 전 조회 4,943
17년 전 조회 1,950
17년 전 조회 2,963
17년 전 조회 3,050
17년 전 조회 2,270
17년 전 조회 2,556
17년 전 조회 2,187
17년 전 조회 2,750
17년 전 조회 4,152
17년 전 조회 4,229