Oracle 插入数据 时间 ORA-01841 问题

踏着代码奔跑 2014-10-17 11:48:51


我有一张表, 这上面的时间 是 datepicker 自动生成的,然后 插入的时候会出现这个问题
百度过,没有找到解决的办法
...全文
1403 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ning_wnn2014 2014-11-22
  • 打赏
  • 举报
回复
楼主的前后的字符格式不对应,应该保持前后的格式一致,使用TO_DATE('2014-11-22','yyyy-mm-dd hh24:mi:ss'),可以解决楼主出现的问题。
小麻雀NG 2014-11-07
  • 打赏
  • 举报
回复
针对楼主的问题:我觉得是前后格式不对应采用TO_DATE('2009-8-9 08:00:10','YYYY-MM-DD HH24:MI:SS'),可以完美解决这个问题
ffshao 2014-11-07
  • 打赏
  • 举报
回复
是不是字符集的原因
不写代码的钦 2014-10-20
  • 打赏
  • 举报
回复
这个错误并不一定时格式错误,也有可能是你的表中的数据问题。 上次我遇到类似错误,格式什么都改了,结果是表中数据有问题, 出现了一个日期类似是这样2014-21-11,然后我用to_date转化, 报错。 建议检查格式同时,检查下数据,看看是不是也存在错误呢?
sych888 2014-10-20
  • 打赏
  • 举报
回复
调整输出格式 单独调试日期字段,修正为自己想要的格式
bw555 2014-10-18
  • 打赏
  • 举报
回复
时间掩码写的不对啊,按现在的掩码只有类似2014-10-18这样的字符串才能转化为日期
CT_LXL 2014-10-18
  • 打赏
  • 举报
回复
引用 楼主 chkshcks 的回复:
我有一张表, 这上面的时间 是 datepicker 自动生成的,然后 插入的时候会出现这个问题 百度过,没有找到解决的办法
to_date的时候前面需要转换的字符串格式需和你指定的格式相对应。 如你指定的是yyyy-mm-dd 那么应该为:to_date('2014-10-01','yyyy-mm-dd')
huangdh12 2014-10-18
  • 打赏
  • 举报
回复
alter session set nls_date_language = 'american'; select to_date('Wed Oct 01 00:00:00 CST 2014','Dy MON DD HH24:MI:SS "CST" YYYY') FROM DUAL;
踏着代码奔跑 2014-10-18
  • 打赏
  • 举报
回复
引用 4 楼 chkshcks 的回复:
[quote=引用 1 楼 bw555 的回复:] 时间掩码写的不对啊,按现在的掩码只有类似2014-10-18这样的字符串才能转化为日期
麻烦您 看一下 楼下,知道了原因, 找不到 解决的方法啊[/quote] SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd",Locale.US); String a1 = req.getParameter("enrolltime"); enrolltime = dateFormat.parse(a1); System.out.println(enrolltime); 加入了 local.US 结果还是Tue Oct 07 00:00:00 CST 2014
踏着代码奔跑 2014-10-18
  • 打赏
  • 举报
回复
引用 1 楼 bw555 的回复:
时间掩码写的不对啊,按现在的掩码只有类似2014-10-18这样的字符串才能转化为日期
麻烦您 看一下 楼下,知道了原因, 找不到 解决的方法啊
踏着代码奔跑 2014-10-18
  • 打赏
  • 举报
回复
引用 2 楼 zlloct 的回复:
[quote=引用 楼主 chkshcks 的回复:] 我有一张表, 这上面的时间 是 datepicker 自动生成的,然后 插入的时候会出现这个问题 百度过,没有找到解决的办法
to_date的时候前面需要转换的字符串格式需和你指定的格式相对应。 如你指定的是yyyy-mm-dd 那么应该为:to_date('2014-10-01','yyyy-mm-dd')[/quote] 嗯 找到问题, 那么,我在学 jsp 用的是一个时间插件, 得到的时间 就是Wed Oct 01 00:00:00 CST 2014 这种, java 中的 SimpleDateformat 方法 转换 完全没有效果啊, 我的 代码 enrolltime = new SimpleDateFormat("yyyy-MM-dd").parse(req.getParameter("enrolltime")); 得到的 结果 和 原来的是一样,只不过 成了时间类型

17,377

社区成员

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

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