MSSQL의 DATEDIFF, DATEADD -> 오라클로 변환문제 0 2 2,516

by 농sql [Oracle 기초] 오라클 DATEDIFF DATEADD [2019.05.30 11:57:16]


함수에서 TIMESTAMP로 날짜를 받아서 변수날짜시간 - 현재날짜시간(TIMESTAMP)로 초시간만 구하고 싶은데 

어떻게 바꿔야 써야 효율적으로 사용할지 생각이..잘 안됩니다.

오라클이전하면서 사용했던 UTILS 패키지를 이용한 구문으로 되어있는데 ..

사용하지 않고 하려다보니 어떻게 하는게 좋을까요?

create or replace FUNCTION FN_TIME 
(
  vt_DATE IN TIMESTAMP
)
RETURN NUMBER
AS
   vn_r NUMBER(10,0);

BEGIN
   vn_r := utils.datediff('SECOND', vt_DATE , UTILS.CONVERT_TO_TIMESTAMP(SYSDATE,7)) ;
   RETURN vn_r ;

END;

 

by 마농 [2019.05.30 15:50:33]
SELECT vt_timestamp
     , ROUND((sysdate - (vt_timestamp - 0)) * 24*60*60) v_second
  FROM (SELECT TO_TIMESTAMP('2019.05.30 15:00:00', 'yyyy.mm.dd hh24:mi:ss') vt_timestamp FROM dual)
;

 


by 랑에1 [2019.05.30 16:24:16]
-- 요런방법도 참고해보세요
SELECT  EXTRACT(HOUR FROM dt2 - dt1) HOUR -- 시간부분 only
      , EXTRACT(MINUTE FROM dt2 - dt1) MINUTE -- 분부분 only
      , EXTRACT(SECOND FROM dt2 - dt1) SECOND -- 초부분 only
      , EXTRACT(HOUR FROM dt2 - dt1) * 60 * 60 +
        EXTRACT(MINUTE FROM dt2 - dt1) * 60 +
        EXTRACT(SECOND FROM dt2 - dt1) TO_SECOND -- 전체 시간량을 초로 환산
FROM (SELECT TO_TIMESTAMP('2019.05.30 15:00:00', 'yyyy.mm.dd hh24:mi:ss') dt1, TO_TIMESTAMP(TO_CHAR(sysdate, 'yyyy.mm.dd hh24:mi:ss'), 'yyyy.mm.dd hh24:mi:ss') dt2 FROM dual)
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입