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
说明 你要输入的日期过短 ,可能要求输入日期的格式是‘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;
希望对你有帮助。
正确歼漏芦语句
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
自己想去吧
可能有悉链旦几种原因
1、转换唤烂格式有问题睁扰;yyyy-mm-dd hh24:mi:ss或者yyyy-mm-dd hh:mi:ss
2、转换的字段里面有空值
把你要输入的日期发过来