ORA-01722:oracle中Number数据类型的无效数字

时间:2015-08-20 10:09:01

标签: oracle insert numbers

我正在尝试在KPI_DEFINITION表格中插入一个值,但我收到错误ORA-01722: invalid number。错误是KPI_FREQUENCY字段,NUMBER数据类型并且它试图插入值'0,5'。我认为数字数据类型允许整数和浮点值。但它仍然给出错误。

Insert into RATOR_MONITORING_CONFIGURATION.KPI_DEFINITION (KPI_DEF_ID,KPI_NAME,KPI_DESC,KPI_FREQUENCY) values ('10003881','Backlog Resul11t','Backlog Result11','0,5');

2 个答案:

答案 0 :(得分:2)

在SQL编号中,使用单引号指定

此外:使用点.而不是逗号分隔小数位。所以你需要把它写成:

Insert into RATOR_MONITORING_CONFIGURATION.KPI_DEFINITION 
  (KPI_DEF_ID,KPI_NAME,KPI_DESC,KPI_FREQUENCY) 
values 
  ('10003881','Backlog Resul11t','Backlog Result11', 0.5);
                                                      ^
                                                      Here

如果KPI_DEF_ID也是数字列,请删除该值的单引号:

有关如何指定数字或字符串文字的完整文档,请参阅手册:

https://docs.oracle.com/database/121/SQLRF/sql_elements003.htm#i139891

答案 1 :(得分:2)

您的案例中KPI_FREQUENCY的可能数据类型为number(2,1)
修改insert声明

Insert into  RATOR_MONITORING_CONFIGURATION.KPI_DEFINITION (KPI_DEF_ID,KPI_NAME,KPI_DESC,KPI_FREQUENCY) 
    values ('10003881','Backlog Resul11t','Backlog Result11',0.5);