协助货币格式

时间:2016-07-14 21:09:05

标签: sql oracle format currency

美好的一天请有人帮我提供###,###,###的货币格式。##我尝试的一切似乎都被卡住了 - 我的代码如下:

function CF_TOTAL_COSTFormula return Number is total_cost number; begin select SUM(share_amount) into total_cost from reservation_name rn, reservation_daily_element_name rden where rn.resv_name_id = rden.resv_name_id and rn.resv_name_id = :resv_name_id and trunc(rden.reservation_date) between trunc(rn.begin_date) and trunc(rn.end_date - 1); return total_cost; exception when others then return 0; end;

1 个答案:

答案 0 :(得分:1)

您的函数返回NUMBER。 Oracle中的数字没有格式。如果要返回格式化的数字,则需要返回VARCHAR2。像这样:

function CF_TOTAL_COSTFormula return varchar2 is
total_cost varchar2(30);
begin
  select to_char(SUM(share_amount),'999,999,990.00') into total_cost
  from reservation_name rn,
         reservation_daily_element_name rden
  where rn.resv_name_id = rden.resv_name_id
  and rn.resv_name_id = :resv_name_id
  and trunc(rden.reservation_date) between trunc(rn.begin_date) and trunc(rn.end_date - 1);
  return total_cost;
exception when others then
    return 'error';
end;

顺便说一句,我从您的函数名称中收集到您可能正在使用Oracle Reports或Oracle BI Publisher。如果是这样,您应该继续返回一个数字并处理布局中的显示格式,而不是模型。