oracle中怎么update(更新)date型的数据

updatetranbillsetodate='2010-12-14'wherebcode='0409',其中odate是DATE类型的,我执行的时候就报错,ORA-01... update tranbill set odate='2010-12-14' where bcode='0409',其中odate是DATE类型的,我执行的时候就报错,ORA-01861: literal does not match format string,我查了也没查出我这个问题的答案,谢谢大侠,急用啊 展开
 我来答
freechan10
2019-12-23 · TA获得超过2.9万个赞
知道小有建树答主
回答量:263
采纳率:68%
帮助的人:12.9万
展开全部

1、创建测试表,

create table test_date(id number, value date);

2、插入测试数据

insert into test_date values(1,sysdate);

insert into test_date values(2,sysdate-100);

insert into test_date values(3,sysdate-55);

commit;

3、查询表中全量数据,select t.*, rowid from test_date t;

4、编写sql,更新date类型的value字段值为:2010-12-14;

   update test_date set value = to_date('2010-12-14','yyyy-mm-dd') where id = 3;

   commit;

  

5、再次查询sql,可以发现id为3的value值已变化; select t.*, rowid from test_date t;

ane56
2010-12-18
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
数据类型不同,一个是字符串类型,一个是日期类型
强制转制一下类型试试
update tranbill set odate='"+Convert.ToDateTime(“2010-12-14”)+"' where bcode='0409'
不知道行不行,我没试过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无极园
推荐于2018-02-28 · TA获得超过160个赞
知道答主
回答量:158
采纳率:0%
帮助的人:0
展开全部
update tranbill set odate=to_date('20101214','yyyymmdd') where bcode='0409'
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式