oracle ORA-01840:输入值对于日期格式不够长,请高手帮忙。有非法数据?怎么处理?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle ORA-01840:输入值对于日期格式不够长,请高手帮忙。有非法数据?怎么处理?相关的知识,希望对你有一定的参考价值。

oracle ORA-01840:输入值对于日期格式不够长,请高手帮忙。有非法数据?怎么处理?日期型数据内有不规范数据造成的。找出那条记录,UPDATE日期字段。
其具体的语法格式如下:
TRUNC(date,[fmt])
其中:
date 为必要参数,是输入的一个日期值
fmt 参数可忽略,是日期格式,用以指定的元素格式来截去输入的日期值。忽略它则由最近的日期截去
下面是该函数的使用情况:
trunc(sysdate,'yyyy') --返回当年第一天.
trunc(sysdate,'mm') --返回当月第一天.
trunc(sysdate,'d') --返回当前星期的第一天.说明 你要输入的日期过短 ,可能要求输入日期的格式是‘yyyy-mm-dd hh24:mi:ss'
你就要输入 20130101125959 日期就变成 2013年1月1日12点59分59秒
如果你要看自己输入的结果 输入:
select to_char(to_date($rundate,'yyyymmddhh24miss’),‘yyyy-mm-dd hh24:mi:ss') from dual
参考技术A 说明 你要输入的日期过短 ,可能要求输入日期的格式是‘yyyy-mm-dd hh24:mi:ss'
你就要输入 20130101125959 日期就变成 2013年1月1日12点59分59秒
如果你要看自己输入的结果 输入:
select to_char(to_date($rundate,'yyyymmddhh24miss’),‘yyyy-mm-dd hh24:mi:ss') from dual;
希望对你有帮助。本回答被提问者和网友采纳
参考技术B 正确语句
select to_date('2012-05-06 12:05:03','yyyy-mm-dd hh24:mi:ss') from dual
select to_date('2012-05-06','yyyy-mm-dd hh24:mi:ss') from dual
select to_date('2012-05-06','yyyy-mm-dd') from dual
报错语句
select to_date('2012-05-06 12:05:03','yyyy-mm-dd') from dual
自己想去吧
参考技术C 可能有几种原因
1、转换格式有问题;yyyy-mm-dd hh24:mi:ss或者yyyy-mm-dd hh:mi:ss

2、转换的字段里面有空值
参考技术D 把你要输入的日期发过来

以上是关于oracle ORA-01840:输入值对于日期格式不够长,请高手帮忙。有非法数据?怎么处理?的主要内容,如果未能解决你的问题,请参考以下文章

Excel错误值总结

oracle中如何修改日期类型的字段值

当另一个单元格的值发生变化时,一个单元格中的自动日期更新(通过公式计算)

有没有办法检查左侧单元格的值并将计数加两个,除非在同一行的另一个单元格中输入了一个值?

当我输入单元格时自动获取日期和时间,但在谷歌表格的单独列中

由于日期格式,从 Apex 表单调用 Oracle SP 失败