ORA-01722无效数字错误:插入带单引号的小数时异常
ORA-01722: 无效数字错误排查与解决
执行以下Oracle插入语句时触发ORA-01722: invalid number错误:
insert into foo (id, some_number) values('id_01', '8.9');
已验证可行的解决方法:
- 去掉数值的单引号即可正常执行,语句如下:
insert into foo (id, some_number) values('id_01', 8.9); - 将小数点替换为逗号也可执行,语句如下:
insert into foo (id, some_number) values('id_01', '8,9');
本人位于西班牙(当地小数分隔符为逗号而非点),使用Oracle数据库,电脑为英文环境的macOS Monterey 12.5.1。团队中非西班牙地区的开发者可正常执行第一条带单引号和小数点的语句,推测该问题与系统区域属性有关。
FOO表结构如下:
| NAME | DATA TYPE | NULL | DEFAULT | COMMENTS |
|---|---|---|---|---|
| *ID | VARCHAR2(20 BYTE) | No | ||
| SOME_NUMBER | NUMBER(3,1) | Yes |
内容的提问来源于stack exchange,提问作者andrestascon
相关产品推荐
相关产品推荐

