pl/sql对采用数字格式的日期进行日期的转换

--将用小数形式表示的 日期时间  转化为 天-小时-分钟-秒 的形式  function fmt_time (p_days in number) return varchar2  as    l_days            number;    l_hours           number;    l_minutes         number;    l_seconds         number;    l_sign            varchar2(1);    l_returnvalue     string_util_pkg.t_max_pl_varchar2;  begin       /*       Purpose:    get time formatted as days, hours, minutes, seconds       Remarks:       Who     Date        Description    ------  ----------  -------------------------------------    MBR     18.12.2006  Created       */    --通过传入的 日期获得相应的 各个单位数据    --整数部分为 天    l_days := nvl(trunc(p_days),0);    --小数部分 *24 得到小时    l_hours := nvl(((p_days - l_days) * 24), 0);    --获得的小时 数据的小数部分 *60 为分钟    l_minutes := nvl(((l_hours - trunc(l_hours))) * 60, 0);    --同样的 将获得的 分钟的小数部分*60 为秒    l_seconds := nvl(((l_minutes - trunc(l_minutes))) * 60, 0);    --判断日期正负 符号    if p_days  0 then      l_returnvalue:=string_util_pkg.get_str('%1 days, %2 hours, %3 minutes', l_days, l_hours, l_minutes);    elsif l_hours > 0 then      l_returnvalue:=string_util_pkg.get_str('%1 hours, %2 minutes, %3 seconds', l_hours, l_minutes, l_seconds);    elsif l_minutes > 0 then      l_returnvalue:=string_util_pkg.get_str('%1 minutes, %2 seconds', l_minutes, l_seconds);    else      l_returnvalue:=string_util_pkg.get_str('%1 seconds', l_seconds);    end if;    --加上 符号    l_returnvalue:=l_sign || l_returnvalue;       return l_returnvalue;     end fmt_time;
© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享