如何修复 oracle ORA-01722 无效号码错误
Posted
技术标签:
【中文标题】如何修复 oracle ORA-01722 无效号码错误【英文标题】:how to fix oracle ORA-01722 invalid number error 【发布时间】:2019-03-11 17:54:42 【问题描述】:我在 myTable 的 column1(NUMBER(22,6)) 上有带有这些输入的 Oracle db。
0
199935,15
1026299
我想这样显示这些列:
00000000000000000.000000
00000000000199935.150000
00000000001026299.000000
我的查询:
SELECT trim(to_char(trim(replace(column1,',','.')),'9999999999999990.999999'))
FROM myTable;
但 Oracle 显示此错误。我该如何解决?
01722. 00000 - "invalid number"
*Cause: The specified number was invalid.
*Action: Specify a valid number.
【问题讨论】:
你的专栏是什么类型的?是数字还是字符串? column1 类型为 NUMBER(22,6)。谢谢 【参考方案1】:如果您有一个数字列,您所要做的就是使用带有正确参数的to_char
;这应该可以完成工作:
select to_char(column1, '00000000000000000D000000', 'NLS_NUMERIC_CHARACTERS = ''.,''') from ...
【讨论】:
以上是关于如何修复 oracle ORA-01722 无效号码错误的主要内容,如果未能解决你的问题,请参考以下文章
使用python将数据从csv文件插入oracle时出现错误ORA-01722:无效数字
Oracle sql 错误 ora-01722 无效数字 ora-02063 前行来自
Oracle SQL:插入失败 ORA-01722:无效数字,数据是数字而不是字符串,为啥会失败?