【发布时间】:2012-09-14 23:14:16
【问题描述】:
对某人来说很容易, 下面的插页给了我
ORA-01722: 无效号码
为什么?
INSERT INTO CUSTOMER VALUES (1,'MALADY','Claire','27 Smith St Caulfield','0419 853 694');
INSERT INTO CUSTOMER VALUES (2,'GIBSON','Jake','27 Smith St Caulfield','0415 713 598');
INSERT INTO CUSTOMER VALUES (3,'LUU','Barry','5 Jones St Malvern','0413 591 341');
INSERT INTO CUSTOMER VALUES (4,'JONES','Michael','7 Smith St Caulfield','0419 853 694');
INSERT INTO CUSTOMER VALUES (5,'MALADY','Betty','27 Smith St Knox','0418 418 347');
【问题讨论】:
-
那么...
CUSTOMER的表定义是什么?您只提供了所需信息的一半。 -
电话号码是唯一可以合理地定义为数字的东西,您的数据不表示为数字(空格不是数字)。所以:检查您的表定义并与您的输入语句进行比较。
-
为什么人们会否决这个问题。对于刚接触数据库的人来说,这是一个奇怪的错误。我可以看到用引号括起来的值如何使它看起来像一个字符串。这仅取决于数据库的设置。它可能都是字符串或数字,仅取决于字段。可能是创建数据库的时候出错了。
-
"早在 12 岁的时候,我从书架上拿出一本书,并回答了一个 Oracle 问题。在 Stack 上,我仍然很熟练,掌握了我保留的知识,但我仍然不知道'没有接受。"
-
电话号码不应定义为数字,以免丢失前导零。
标签: sql oracle plsql casting type-conversion