Oracle中产生 “0000-00-00”格式的日期

某需求上线后系统中出现很多日期为'0000-00-00'的数据,此种数据为错误数据并不是预期结果,并且不确定是如何产生的。

尝试使用select to_date('0000-00-00','yyyy-mm-dd') from dual; 查询报错,根本无法得到这个日期的数据。

尝试Insert同样不能成功。

排查发现该日期通过JAVA处理后存入数据库,怀疑转换有问题。后测试发现,当页面将日期录入为'9999-99-99',JAVA可以将其转换,

结果为“Thu Jun 07 00:00:00 CST 10007”。我们看到,实际年份变为了10007,JAVA将99个月视为合法并进位,此时存入数据库结果显示为“0000-00-00”。

但此时实际数据库记录的应该为10007,只是无法显示通过一下语句验证,“0000-00-00”是大于“9999-09-09”:

SQL> select dump(c.end_date),c.end_date,dump(tc.insert_time),c.insert_time

2   from customer c where c.end_date > to_date('9999-09-09','yyyy-mm-dd') and c.customer_id =4100026927;

DUMP(C.END_DATE)                       END_DATE       DUMP(C.INSERT_TIME)                     INSERT_TIME

-------------------------------------- -------------- ---------------------------------------- -----------

Typ=12 Len=7: 199,199,11,29,1,1,1      9999-11-29     Typ=12 Len=7: 120,109,12,28,18,54,2      2009-12-28

附JAVA代码:

public static java.util.Date toDate(int year, int month, int date) {

return toDate(year, month, date, 0, 0, 0);

}

public static java.util.Date toDate(int year, int month, int date, int hrs,      int min, int sec) {    Calendar calendar = Calendar.getInstance();    calendar.set(year, month - 1, date, hrs, min, sec);    return calendar.getTime();  }

oracle日期00开头,【原】Oracle中产生 “0000-00-00”格式的日期相关推荐

  1. mysql unix格式_将MySQL Unix-Timestamp格式转换为日期格式?

    为此,语法如下select date_format(from_unixtime(yourColumnName),'%b %d, %Y %l:%i %p PDT') from yourTableName ...

  2. qla2xxx 0000:04:00.0: scsi(1:0:2): Abort command issued -- 1 1b22e 2002.

    又一存储类故障, 两台DELL R610服务器. HBA : 04:00.0 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel t ...

  3. oracle Imdpd覆盖,zzw原創_expdp及impdp中的exclude及include參數的那點事

    zzw原創:轉載請注明出處 在oracle的expdp 及imdpd命令中,exclude及include參數還是有一些要注意的地方,特別是涉及選擇性條件時. 一.通用 1.exclude及inclu ...

  4. Web项目--------原Oracle数据库的项目同时兼容MySql

    原Oracle数据库的项目同时兼容MySql步骤: (一)修改资源配置文件applicationContext-dataSource.xml的数据库连接 Oracle数据库中加上from dual的原 ...

  5. oracle异常日志在哪,Oracle 11g 中告警日志的位置

    首先介绍2个新名词 Automatic Diagnostic Repository (ADR)一个存放数据库诊断日志.跟踪文件的目录,称作ADR base,对应初始化参数DIAGNOSTIC_DEST ...

  6. [原]Oracle数据文件损坏的模拟和修复(一) |ORA-01578 data block corrupted|

    造成数据块损坏的原因通常是由于开启了异步I/O或者增加了写进程,还有可能是硬件引起的,今天模拟一下该问题的发生及修复方法.由于水平有限,那面疏漏,欢迎大家指正. 创建测试环境 建立测试表空间: cre ...

  7. oracle的iw算法,[转载]Oracle日期周详解IW

    1 ORACLE中周相关知识描述 1.1           日期格式化函数 TO_CHAR(X [,FORMAT]):将X按FORMAT格式转换成字符串.X是一个日期,FORMAT是一个规定了X采用 ...

  8. java 获取oracle表结构_获取Oracle中所有表的列表?

    回答(19) 2 years ago 我们可以从以下查询获取所有表格,包括列详细信息: SELECT * FROM user_tab_columns; 2 years ago 使用sqlplus更好地 ...

  9. oracle 日期改字符格式_oracle 日期转换格式

    在网上看见不少oracle新学者对oracle的时间格式很烦,经常是设计了一个带时间字段的表之后,向表插入数据失败.回想起自己刚开始学习oracle时,也对这个时间格式摸不着头脑,虽然是小小的问题,高 ...

  10. mbk文件导入到oracle,将Oracle DMP文件导入到oracle的全新安装中

    客户向我们发送了一个我们需要测试的Oracle数据库.我们不使用Oracle或拥有任何内部Oracle专业知识. 我们需要设置数据库,以便我们可以连接到它并调试问题. 我重新安装了Oracle 9(客 ...

最新文章

  1. 1022 Digital Library
  2. ICCV 2021 | 国科大提出首个CNN和Transformer双体主干网络!Conformer准确率高达84.1%!...
  3. poj3279 Fliptile
  4. vscode 语法检查_Jenkins 声明式流水线的语法错误检查
  5. virtual box linux 安装增强功能,Linux 开发环境中为VirtualBox安装增强功能
  6. numeric比较大小 数据库_Liquibase 数据库版本管理工具:3. changeSet 变更集详解
  7. 整数转字符串,字符串转整数
  8. hp ux安装oracle 11g,HP UX安装oracle 11g asm扫不到盘
  9. 学习OpenGL ES之法线贴图
  10. 广西北部湾经济区升级发展 全面对接粤港澳大湾区
  11. 计算机图形学入门(十七)-光线追踪(蒙特卡洛积分与路径追踪)
  12. influence和effect的区别
  13. 【工具使用】Word 排版
  14. 如何配置SQL Server 2008管理器_过路老熊_新浪博客
  15. 牛客网-腾讯编程校招真题 编码 Java
  16. Python入门习题大全——大号T恤
  17. 如何查询网站服务器类型
  18. 使用 Excel 和 Math.Net 进行曲线拟合和数据预测
  19. 前端皮肤功能实现(基于Less)
  20. CSS文字溢出省略号

热门文章

  1. 我的电脑上的软件推荐
  2. PySpark任务在YARN集群上运行python 算法
  3. $smary模板缓存
  4. mac install wget
  5. Javadoc注释的用法
  6. java提高篇(四)-----抽象类与接口
  7. 如果想成为数据科学家,请学习这3种语言
  8. 三省2:hadoop是什么鬼1
  9. This content should also be served over HTTPS
  10. ASP.NET MVC Model验证