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

· 17년 전 · 3788
-- 년월일
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,283
17년 전 조회 1,173
17년 전 조회 1,280
17년 전 조회 2,441
17년 전 조회 4,234
17년 전 조회 1,235
17년 전 조회 3,983
17년 전 조회 4,136
17년 전 조회 1,251
17년 전 조회 2,219
17년 전 조회 1,662
17년 전 조회 3,255
17년 전 조회 1,401
17년 전 조회 3,643
17년 전 조회 3,438
17년 전 조회 2,605
17년 전 조회 2,976
17년 전 조회 2,668
17년 전 조회 1,988
17년 전 조회 3,350
17년 전 조회 2,669
17년 전 조회 3,562
17년 전 조회 1,181
17년 전 조회 2,292
17년 전 조회 1,361
17년 전 조회 1,239
17년 전 조회 1,104
17년 전 조회 1,089
17년 전 조회 1,458
17년 전 조회 2,901
17년 전 조회 3,294
17년 전 조회 3,038
17년 전 조회 1,918
17년 전 조회 4,025
17년 전 조회 1,445
17년 전 조회 1,168
17년 전 조회 1,277
17년 전 조회 1,153
17년 전 조회 1,403
17년 전 조회 1,771
17년 전 조회 2,367
17년 전 조회 2,455
17년 전 조회 1,453
17년 전 조회 1,209
17년 전 조회 2,476
17년 전 조회 2,896
17년 전 조회 3,267
17년 전 조회 3,207
17년 전 조회 2,361
17년 전 조회 3,789
17년 전 조회 3,209
17년 전 조회 5,537
17년 전 조회 2,687
17년 전 조회 1,900
17년 전 조회 1,972
17년 전 조회 1,808
17년 전 조회 1,740
17년 전 조회 2,801
17년 전 조회 1,921
17년 전 조회 1,607
17년 전 조회 2,102
17년 전 조회 1,157
17년 전 조회 1,702
17년 전 조회 2,908
17년 전 조회 2,158
17년 전 조회 1,843
17년 전 조회 2,058
17년 전 조회 1,360
17년 전 조회 1,740
17년 전 조회 1,254
17년 전 조회 1,806
17년 전 조회 1,818
17년 전 조회 1,080
17년 전 조회 3,170
17년 전 조회 4,351
17년 전 조회 2,493
17년 전 조회 7,507
17년 전 조회 3,854
17년 전 조회 4,197
17년 전 조회 2,455
17년 전 조회 2,918
17년 전 조회 3,666
17년 전 조회 4,038
17년 전 조회 3,194
17년 전 조회 3,179
17년 전 조회 3,336
17년 전 조회 2,495
17년 전 조회 2,091
17년 전 조회 3,134
17년 전 조회 3,289
17년 전 조회 4,642
17년 전 조회 1,618
17년 전 조회 2,647
17년 전 조회 2,728
17년 전 조회 1,943
17년 전 조회 2,246
17년 전 조회 1,874
17년 전 조회 2,416
17년 전 조회 3,804
17년 전 조회 3,921