Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 甲骨文到字符错误_Oracle_To Char - Fatal编程技术网

Oracle 甲骨文到字符错误

Oracle 甲骨文到字符错误,oracle,to-char,Oracle,To Char,我有一个函数(使用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) := '

我有一个函数(使用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';

我得到了一个无效的号码

一个表只有3个值指向CPVW.QTD:100200300,类型为NUMBER

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

仅当TO_字符为“9999999”且没有逗号或小数点时,此函数才起作用


您能帮助我吗?

请显示引发异常的确切代码行。您确定问题出在您的to\u char对话中吗?也许您正在其他地方处理转换的QTD,这会引发异常?尝试使用:to_CHAR(CPVW.QTD,'9999d99')为什么要使用
Dbms_sql.Varchar2s
而不是一个大的文本变量?我不明白你在做什么。您的查询似乎不是动态的。因此,使用带有绑定变量的游标或EXECUTE IMMEDIATE语句。
str_work(Nvl(str_work.Last, 0) + 1) := '  TO_CHAR(CPVW.QTD, ''99999.99'') as QTD';