You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ORA-00932错误:插入日期数据时类型不匹配问题求助

ORA-00932错误原因解析

核心问题是INSERT语句的字段顺序和表结构的字段顺序不匹配:

  • reserves表定义的字段顺序是:day(DATE) → sid(INT) → bid(INT)
  • 但你执行的INSERT语句里,值的顺序是:sid(22,数字类型) → bid(103,数字类型) → 日期值

数据库会严格按照表字段的定义顺序依次匹配插入值,所以第一个插入值22会被对应到表的第一个字段day(DATE类型),这就直接触发了ORA-00932: inconsistent datatypes: expected DATE got NUMBER错误。

修正方案

推荐在INSERT语句中明确指定字段名(避免依赖顺序,代码更健壮):

INSERT INTO reserves (sid, bid, day) VALUES (&sid, &bid, TO_DATE('&date', 'MM/DD/YY'));

也可以调整值的顺序,完全匹配表结构的字段顺序:

INSERT INTO reserves VALUES (TO_DATE('&date', 'MM/DD/YY'), &sid, &bid);

内容的提问来源于stack exchange,提问作者Aakash P

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 23:20:53