更新含有日期类型数据 yyyy-mm-dd ??:??:?? 格式转换

[复制链接]
查看11 | 回复2 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
数据库DATE类型字段如AAB0001,数据中含有非法字符,显示格式为yyyy-mm-dd ??:??:??,试用以下语句
update ab01
set AAB0001 = to_date(AAB0001,'yyyy/mm/dd')
where rownum = 1;
提示ORA-01861: 文字与格式字符串不匹配
请教:如何更新含有非法字符的日期类型数据
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
aab0001是不是date型的啊,如果是就不用转换
如果不是date型的话,看看是不是8位的,不是的话,当然报错了.如果是就查查它们当中有没有字符型的数据.可以用to_date(aab001,'yyyymmdd')
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
不明白你要问的。格式完全不对的话,你是怎么插入到表里的呢?你确定AAB001这个字段是date型的吗?提问时尽量提供多一些的线索。如果你把 desc ab01 和 select sysdate, AAB0001 from ab01 where rownum = 1 的结果帖出来就好办多了。以及可能还需要的参数。
你这个问题我估计就是显示的格式问题。
试试先运行
alter session set nls_date_format='YYYY/MM/DD';
然后
select sysdate, AAB0001 from ab01 where rownum <1;
给我们看一下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行