[英]Specify a Valid number SQL Error: ORA-01722: invalid number
Please I need help in fixing the error message I have been getting when I try to INSERT a content to the table below.请帮助我修复我尝试将内容插入下表时收到的错误消息。 An example will help me understand it better.一个例子将帮助我更好地理解它。
CREATE TABLE EMP (
EMP_ID INTEGER NOT NULL
, FNAME VARCHAR(30) NOT NULL
, LNAME VARCHAR(30) NOT NULL
, ADDRESS VARCHAR(50) NOT NULL
, SALARY VARCHAR(50) NOT NULL
, DOB DATE NOT NULL
, SHIFTS VARCHAR2(20) NOT NULL
, SSN CHAR(11) NOT NULL
, PHONE CHAR(12) NOT NULL
, HIRING_DATE CHAR(12) NOT NULL
, EMAIL VARCHAR2(50) NOT NULL
);
Insert:插入:
INSERT INTO EMP
VALUES(1,'Erica', 'Brandon', '425 Main Street', 'Credit Card',
'1965-06-30', 'Evening', '610-24-1111',
'603-547-8296', '2010-01-16', 'ejohnson@fakemail.com');
Error report - SQL Error: ORA-01722: invalid number 01722. 00000 - "invalid number" *Cause: The specified number was invalid.错误报告 - SQL 错误:ORA-01722:无效号码 01722。00000 - “无效号码” *原因:指定的号码无效。 *Action: Specify a valid number. *行动:指定一个有效的数字。
INSERT INTO EMP
VALUES(1,
'Erica',
'Brandon',
'425 Main Street',
'Credit Card',
TO_DATE('1965-06-30', 'yyyy-mm-dd'),
'Evening',
'610-24-1111',
'603-547-8296',
TO_DATE('2010-01-16', 'yyyy-mm-dd'),
'ejohnson@fakemail.com');
It is a good practice to enlist column names like:征用如下列名是一个好习惯:
INSERT INTO EMP(EMP_ID,FNAME,LNAME...)
VALUES (...);
You should store HIRING_DATE
as DATE
not string.您应该将HIRING_DATE
存储为DATE
而不是字符串。
The date format in Oracle depends on the internationalization settings (and the default is not good). Oracle 中的日期格式取决于国际化设置(默认值不好)。 You can use the date
keyword to specify dates using ISO standard formats:您可以使用date
关键字来指定使用 ISO 标准格式的日期:
INSERT INTO EMP
VALUES(1, 'Erica', 'Brandon', '425 Main Street', 'Credit Card',
DATE '1965-06-30', 'Evening', '610-24-1111',
'603-547-8296', '2010-01-16', 'ejohnson@fakemail.com');
Notes:笔记:
HiringDate
should be a date type, not a character type. HiringDate
应该是日期类型,而不是字符类型。EMP
in the insert
.您应该在insert
列出EMP
中的列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.