• 1758阅读
  • 0回复

两个日期时间差计算和显示 [复制链接]

上一主题 下一主题
 
只看楼主 倒序阅读 0楼 发表于: 2010-07-29
--返回两个日期人可以直接看懂的时间差(格式:1天6小时13分钟37秒)
create or replace function fn_tm(p_end_time in date, p_start_time in date)
  return varchar2 is
  v_result varchar2(200);

  v_day  varchar2(200) := 0;
  v_time varchar2(200) := 0;
begin

  select trunc(p_end_time - p_start_time) into v_day from dual;

  select to_char(to_date(trunc(((p_end_time - p_start_time) -
                               trunc(p_end_time - p_start_time)) * 86400),
                         'SSSSS'),
                 'fmhh24"小时"mi"分钟"ss"秒"')
    into v_time
    from dual;

  if v_day is null or v_time is null then
    return '';
  end if;

  v_result := v_day || '天' || v_time;

  return v_result;

end;

Security Checker
快速回复
限100 字节
 
上一个 下一个