协助货币格式

Assist with currency format

美好的一天,有人可以用###、###、###.## 的货币格式帮助我吗?我尝试的一切似乎都被卡住了 - 我的代码如下:

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;

您的函数 return 是 NUMBER。 Oracle 中的数字没有格式。如果你想return一个格式化的数字,你需要return一个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。如果是这样,您应该继续 return 数字并处理布局中的显示格式,而不是模型。