美好的一天请有人帮我提供###,###,###的货币格式。##我尝试的一切似乎都被卡住了 - 我的代码如下:
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;
答案 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。如果是这样,您应该继续返回一个数字并处理布局中的显示格式,而不是模型。