在线工具 在线编程 在线白板 在线工具 在线编程 在线白板

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

update tranbill set odate='2010-12-14' where bcode='0409',其中odate是DATE类型的,我执行的时候就报错,ORA-01861: literal does not match format string,我查了也没查出我这个问题的答案,谢谢大侠,急用啊
最新回答
小小

2025-03-30 18:56:12

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;

松你手

2025-03-30 07:06:10

数据类型不同,一个是字符串类型,一个是日期类型
强制转制一下类型试试
update tranbill set odate='"+Convert.ToDateTime(“2010-12-14”)+"' where bcode='0409'
不知道行不行,我没试过
↗雾里↖看花☆

2025-03-30 09:42:28

update tranbill set odate=to_date('20101214','yyyymmdd') where bcode='0409'