게시일: Apr 05, 2013 3:45:1 AM
var IsFdt = "2013-04-04 03:53:35";
var IsTdt = "2013-04-06 05:03:01";
select a.fdt
, a.tdt
, floor(a.tdt-a.fdt) "일"
, floor(mod(a.tdt-a.fdt,1)*24) "시간"
, floor(mod(mod(a.tdt-a.fdt,1)*24,1)*60) "분"
--, floor(mod(mod(mod(a.tdt-a.fdt,1)*24,1)*60,1)*60) "초" -- 마지막 단위는 소수점까지 다 포함해야 하므로
, round(mod(mod(mod(a.tdt-a.fdt,1)*24,1)*60,1)*60) "초" -- round를 하는 게 맞음
from (select to_date(:IsFdt, 'yyyy-mm-dd hh24:mi:ss') fdt
, to_date(:IsTdt, 'yyyy-mm-dd hh24:mi:ss') tdt
from dual
) a
;
-----------------------------------------------------------------------
FDT TDT 일 시간 분 초
-----------------------------------------------------------------------
2013-04-04 03:53:35 2013-04-06 05:03:01 2 1 9 26 -> floor 처리하면 25를 return함.
-----------------------------------------------------------------------
만약 분까지만 구할거면 분을 round 처리해야함.