Home > Database > Mysql Tutorial > 数据库报ORA-01839的错误

数据库报ORA-01839的错误

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-07 16:00:12
Original
1660 people have browsed it

ZCGL数据库在运行SQL语句的时候报:ORA-01839 指定月份的日期无效

【问题描述】ZCGL数据库在运行SQL语句的时候报:ORA-01839 指定月份的日期无效

数据库报ORA-01839的错误

详细的SQL语句简化如下:

select *

from table_name

where to_date(a.yc_date,'yyyy-mm-dd')-sysdate>1

【问题的原因】ORA-01839表明z_yc_date的结果集的日期有不符合相应的日期标准,常见的有

select to_date('2015/2/31','yyyy/mm/dd')  from dual;

因为2月没有31号,所以就会报ORA-01839的错误;

【解决方法】针对这个错误问题有两个解决方法:

1、找出源数据中,不符合规范的日期(已把结果集导出但并没有发现很明显的错误);

2、改写相应的SQL语句,,改写如下

select *  from table_name

where ya.c_date>=to_char(sysdate,'yyyy-mm-dd'))  #通过字符型去比较

【总结】以上的问题其实可以在建表的时候就进行规避,建议是用来存放时间日期的列,建议在创建表的时候直接设置该列的类型为date,对于后续的管理和性能都是有很大的好处;

本文永久更新链接地址

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template