
oracle数据插入问题(应为number,但获得的却是date)
insertinto……values()怎样插入number型数据名称是否为空?类型-------------------------------------------...
insert into ……
values()
怎样插入number型数据
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
PROJID NOT NULL NUMBER(4)
P_DESC VARCHAR2(2)
P_START_DATE NUMBER(38)
P_END_DATE NUMBER(38)
BUDGET_AMOUNT NUMBER(7,2)
MAX_NO_STAFF NUMBER(2)
COMMENTS LONG
SQL> INSERT INTO PROJECTS(PROJID,P_DESC,P_START_DATE,P_END_DATE,BUDGET_AMOUNT,MAX_NO_STAFF,COMMENTS)
2 VALUES(1,'WRITE_C030 COURSE',TO_DATE('02-JAN-88','DD-MM-YYYY'),TO_DATE('07-JAN-88','DD-MM-YYYY'),500,1,'BR CREATIVE
'); *
第 2 行出现错误:
ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 DATE 展开
values()
怎样插入number型数据
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
PROJID NOT NULL NUMBER(4)
P_DESC VARCHAR2(2)
P_START_DATE NUMBER(38)
P_END_DATE NUMBER(38)
BUDGET_AMOUNT NUMBER(7,2)
MAX_NO_STAFF NUMBER(2)
COMMENTS LONG
SQL> INSERT INTO PROJECTS(PROJID,P_DESC,P_START_DATE,P_END_DATE,BUDGET_AMOUNT,MAX_NO_STAFF,COMMENTS)
2 VALUES(1,'WRITE_C030 COURSE',TO_DATE('02-JAN-88','DD-MM-YYYY'),TO_DATE('07-JAN-88','DD-MM-YYYY'),500,1,'BR CREATIVE
'); *
第 2 行出现错误:
ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 DATE 展开
6个回答
展开全部
具体点,不会是类型问题那么简单的吧?
基本上的是你定义的什么类型,插入的时候会自动识别的
比如age是number类型:
insert into test (name,age)values ('username',20);
基础的就是这样了,但是可能你的问题不是这样子的,你把代码和错误copy上来吧,不然也不知道你具体问什么
基本上的是你定义的什么类型,插入的时候会自动识别的
比如age是number类型:
insert into test (name,age)values ('username',20);
基础的就是这样了,但是可能你的问题不是这样子的,你把代码和错误copy上来吧,不然也不知道你具体问什么
追答
我晕~童鞋,你这错误也太过于低级了吧~你表里面定义列的是number类型,而你插入时却将数据转换为日期Date类型,不出错才怪呢~
解决方法:
1、将表里面的列修改类型为Date,这样按照你values里面的数据是可以进行插入的
2、将values里面的数据修改,但是一定要符合number类型的,是否可以准确表达为日期我就不知道了
我建议你就是修改表列的类型,或者直接drop掉表然后再重新建立一个表,记住,类型一定要符合要求~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2022-08-05 广告
苏州蓝晓生物科技有限公司。标准化核心产品:公司拥有完整的琼脂糖介质、葡聚糖介质、聚甲基丙烯酸酯介质生产线,年产分离介质50000L,产品质量稳定并达到国际领先水平。核心优势:公司核心技术人员拥有近二十年不同基质的基球开发和官能化的丰富技术经...
点击进入详情页
本回答由苏州蓝晓生物科技有限公司_提供
展开全部
TO_DATE('02-JAN-88','DD-MM-YYYY'),TO_DATE('07-JAN-88','DD-MM-YYYY')是将字符串转换为日期格式,而你定义的类型是number型,只有将字段类型改为varchar2或日期型,否则无法插入,另外 P_DESC 字段 设置为 VARCHAR2(2)也太短了吧,显然有问题,又不占多少硬盘,设为 VARCHAR2(200)又何妨。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
P_START_DATE 这个字段本身就是NUMBER类型,你的VALUES
里面却是 to_date(), 一个数值型,一个日期型,当然不成功
里面却是 to_date(), 一个数值型,一个日期型,当然不成功
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
insert into pet values(pet_seq.nextval,1,'阿猫',1,100,100,'','','',to_date('2011-07-10','yyyy-mm-dd'),1);dhuyang希望有所提示,有空到IT168,IT实验室,天天软件测试网进一步交流!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |