当前位置:数据库 > Oracle >>

oracle数据库两个日期比较,一个日期比另一个日期大三个月以上的数据。。纠结。

select * from tbl_jycxcfxxb where (to_date(cfsj,'yyyy-mm-dd hh24:mi:ss'))>(add_months(to_date(jckssj,'yyyy-mm-dd hh24:mi:ss'),3)) 无效月份 select cfsj,jckssj,(to_date(jckssj,'yyyy-mm-dd hh24:mi:ss')+ interval '3' Month) from tbl_jycxcfxxb where (to_date(cfsj,'yyyy-mm-dd hh24:mi:ss'))>(to_date(jckssj,'yyyy-mm-dd hh24:mi:ss')+ interval '3' Month) 指定月份日期无效
追问:我的cfsj是varchar2类型 都是正常的  都可以查出来 
 但是比较就会报错可以查出来。正常。都可以的。
答案:看看,你的 cfsj 是什么类型的数据, 都有什么值?

我有点怀疑 to_date(cfsj,'yyyy-mm-dd hh24:mi:ss') ,这步就有错误了。

你执行一下这个查询:
select to_date(cfsj,'yyyy-mm-dd hh24:mi:ss') from  tbl_jycxcfxxb
看是否正常?
其他:或者月份大于12,等于0也不可以吧。你这个字段建立的时候就有问题,既然要当日期时间处理,为什么不设定为date格式呢。

上一个:求助!关于Oracle数据库的时间格式设置
下一个:java连接oracle数据库java.sql.SQLException: 无效的列索引问题

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,