当前位置: 首页 > 知识库问答 >
问题:

SQL错误: ORA-01722:无效号码

胡修伟
2023-03-14

这是我的桌子。

CREATE TABLE SCHEDULE (
    SCHEDULE_ID INT                NOT NULL
    ,ARRV_TIME  INT                NOT NULL
    ,DEP_TIME   INT                NOT NULL
    ,BUS_TRANSFERS  VARCHAR2(40)   NOT NULL
    ,BUS_ID  NUMERIC               NOT NULL
    ,TRAVEL_DIRECTION  VARCHAR(10) NOT NULL
    ,WEEK_DAY  INTEGER             NOT NULL
);

我运行此插入语句

INSERT INTO SCHEDULE (SCHEDULE_ID, ARRV_TIME, DEP_TIME, BUS_TRANSFERS, BUS_ID, TRAVEL_DIRECTION, WEEK_DAY) 
VALUES (SEQ_SCHEDULE.NEXTVAL,'10', '11', 'White Oak', '2', 'North', '4');

我得到这个错误信息:

从命令中的第1行开始出错-插入计划(SCHEDULE_IDARRV_TIMEDEP_TIMEBUS_TRANSFERSBUS_IDTRAVEL_DIRECTIONWEEK_DAY)值(SEQ_SCHEDULE.NEXTVAL,'10','11','White Oak','2','North','4')

错误报告-SQL错误:ORA-01722:无效号码01722。00000-"无效号码"*原因:指定的号码无效。*操作:指定有效号码。

共有2个答案

羊舌新荣
2023-03-14

这个错误是因为您已经将arrived_time声明为int,并且您正试图为此插入' 10 '值。请删除非字符串数据类型的引号

劳英华
2023-03-14

试试这个:-

CREATE TABLE SCHEDULE( 
SCHEDULE_ID INTEGER NOT NULL ,
ARRV_TIME INTEGER NOT NULL ,
DEP_TIME INTEGER NOT NULL ,
BUS_TRANSFERS VARCHAR2(40) NOT NULL ,
BUS_ID INTEGER NOT NULL ,
TRAVEL_DIRECTION VARCHAR2(10) NOT NULL ,
WEEK_DAY INTEGER NOT NULL );

INSERT INTO SCHEDULE(SCHEDULE_ID, ARRV_TIME, DEP_TIME,BUS_TRANSFERS,BUS_ID, TRAVEL_DIRECTION, WEEK_DAY)
VALUES(SEQ_SCHEDULE.NEXTVAL,10,11, 'White Oak',2,'North',4);
 类似资料:
  • 一个非常容易的人,下面的插入是给我

  • 对于某人来说,这是一个非常简单的方法,下面的插入内容给了我 ORA-01722:无效的数字 为什么?

  • 我在包裹抛出错误中有一个查询 ORA-01722:无效号码。 我试了很多方法,但都没有成功。 null 请给我建议解决办法

  • ORA-01722:无效号码 ORA-02063:来自db的前一行 如果将查询中的更改为: (不起作用) (不起作用) (不起作用) 我不明白为什么查询在Oracle SQL Developer中运行得很好,但却不能在没有任何错误的情况下运行。如有任何帮助,我们将不胜感激。

  • 我正在我的Oracle客户机中运行下面提到的查询,我得到了 ORA-01722:无效号码 错误。我知道这个问题是由于TAG_VALUE列的类型是“”,我正在将其转换为数字,然后在where子句中使用该字段。我尝试过使用“”功能,但这也没有帮助。如果我运行查询时忽略了最后一个 where 条件,代码为

  • 我正在尝试执行查询,但它不断给出错误 ORA-01722:无效号码01722.00000-"无效号码" 我检查了是否有像01722这样的数字。00000或类似在我的表中,但没有。我还检查了查询,如果我在非数值中使用算术运算符,如果我正在比较一个数字和非数字值,但仍然什么都没有。我所有的表列都是类型,现在已经一整天了,我还没有找到如何解决它。查询如下: