我已经建立了这个功能来打印所有项目的列表以及每个项目的承诺总额。我需要格式化输出以显示$
值的符号、逗号和两位小数。
到目前为止,我可以获得结果,但没有格式化。我包含to_char
在函数中。
当我调用它时,我收到此错误:
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at "SYSTEM.DD_PROJECT_SF", line 19
06502. 00000 - "PL/SQL: numeric or value error%s"
*Cause:
*行动:
这是我的功能:
create or replace function DD_PROJECT_SF (
project_id dd_project.idproj%type)
return number is
pledge_amount dd_pledge.pledgeamt%type;
project_name dd_project.projname%type;
projid dd_pledge.idproj%type;
begin
select idproj, projname into projid, project_name from dd_project
where idproj = project_id;
select to_char(sum(pledgeamt), '$9,990.99') into pledge_amount from dd_pledge
where idproj = project_id;
if (pledge_amount = 0) then
return 0;
else
return pledge_amount;
end if;
return pledge_amount;
end DD_PROJECT_SF;
这是调用 SQL 语句:
select idproj, projname, DD_PROJECT_SF(idproj) from dd_project;
我怎样才能解决这个问题?