0

我有一个函数(使用 Dbms_sql.Varchar2s),它的一部分如下:

str_work(Nvl(str_work.Last, 0) + 1) :=  ' Select ';
str_work(Nvl(str_work.Last, 0) + 1) :=  '  TIP.ID_ITEM,';
str_work(Nvl(str_work.Last, 0) + 1) :=  '  CPVW.ID_FAB,';
str_work(Nvl(str_work.Last, 0) + 1) := '  TO_CHAR(CPVW.QTD, ''9999999'') as QTD';
str_work(Nvl(str_work.Last, 0) + 1) :=  ' from ';
str_work(Nvl(str_work.Last, 0) + 1) :=  '  CAD_PILAR_VW CPVW';

当我执行它时,一切都可以,但是当我从

str_work(Nvl(str_work.Last, 0) + 1) := '  TO_CHAR(CPVW.QTD, ''9999999'') as QTD';

str_work(Nvl(str_work.Last, 0) + 1) := '  TO_CHAR(CPVW.QTD, ''99999.99'') as QTD';

我收到错误无效号码

一个表只有 3 个 CPVW.QTD 值:100、200、300,类型为 NUMBER

我尝试了很多带有逗号、小数点的“9999999”组合,所有情况下我都收到相同的错误。无效号码。

该函数仅在 TO_CHAR 为 ''9999999'' 且不带逗号或小数点时才有效。

你能帮助我吗?

4

0 回答 0