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;
-- 요런방법도 참고해보세요 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)