oracle 把varchar2转换成date

gggmcse 2010-04-04 04:08:42
想把birth列由varchar2转换为date类型,我是按如下步骤做的:
步骤如下:
1.假设前一个字段为a_time,增加一个字段a_tim
2.update aaa set a_tim =to_date(a_time,'yyyy-mm-dd hh24:mi:ss');
3.删除a_time后,建一个字段为a_time,定义字段类型为date
4.update aaa set a_time = a_tim

但是我操作了提示错误:ORA-01840: 输入值对于日期格式不够长

我的这个列的值是这样的如:1900/01/01

请问如何转换
...全文
2591 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gggmcse 2010-04-06
  • 打赏
  • 举报
回复
恩,是数据有问题,有1980/02/31 或者 1980/'02/01 或者1980/yy/dd 等等不规则的数值

hanweiwei_1 2010-04-06
  • 打赏
  • 举报
回复
你a_time列估计有数据不对,我按你的操作步骤更改完全没有错误
gggmcse 2010-04-06
  • 打赏
  • 举报
回复
我晕,发不上来图,错误提示说:无效数字
错误定位在a_time 一列
gggmcse 2010-04-06
  • 打赏
  • 举报
回复
如图
gggmcse 2010-04-06
  • 打赏
  • 举报
回复
我按照2楼说的那样做,也不对,报错如图,还有谁有啥办法啊?
wojiaochenglong 2010-04-04
  • 打赏
  • 举报
回复
我和你一样的过程,更新没有报错
Adebayor 2010-04-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 gggmcse 的回复:]
但是我操作了提示错误:ORA-01840: 输入值对于日期格式不够长…
[/Quote]
这个是你的数据有问题
wanjianjun 2010-04-04
  • 打赏
  • 举报
回复

TO_DATE(TO_CHAR(a_time,'YYYY-MM-DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS') 吧,一定行,记得接分哦。。
gggmcse 2010-04-04
  • 打赏
  • 举报
回复
我把'yyyy-mm-dd hh24:mi:ss'
改为'yyyy-mm-dd '
也不可以

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧