oracle日期00开头,【原】Oracle中产生 “0000-00-00”格式的日期
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”格式的日期相关推荐
- mysql unix格式_将MySQL Unix-Timestamp格式转换为日期格式?
为此,语法如下select date_format(from_unixtime(yourColumnName),'%b %d, %Y %l:%i %p PDT') from yourTableName ...
- 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 ...
- oracle Imdpd覆盖,zzw原創_expdp及impdp中的exclude及include參數的那點事
zzw原創:轉載請注明出處 在oracle的expdp 及imdpd命令中,exclude及include參數還是有一些要注意的地方,特別是涉及選擇性條件時. 一.通用 1.exclude及inclu ...
- Web项目--------原Oracle数据库的项目同时兼容MySql
原Oracle数据库的项目同时兼容MySql步骤: (一)修改资源配置文件applicationContext-dataSource.xml的数据库连接 Oracle数据库中加上from dual的原 ...
- oracle异常日志在哪,Oracle 11g 中告警日志的位置
首先介绍2个新名词 Automatic Diagnostic Repository (ADR)一个存放数据库诊断日志.跟踪文件的目录,称作ADR base,对应初始化参数DIAGNOSTIC_DEST ...
- [原]Oracle数据文件损坏的模拟和修复(一) |ORA-01578 data block corrupted|
造成数据块损坏的原因通常是由于开启了异步I/O或者增加了写进程,还有可能是硬件引起的,今天模拟一下该问题的发生及修复方法.由于水平有限,那面疏漏,欢迎大家指正. 创建测试环境 建立测试表空间: cre ...
- oracle的iw算法,[转载]Oracle日期周详解IW
1 ORACLE中周相关知识描述 1.1 日期格式化函数 TO_CHAR(X [,FORMAT]):将X按FORMAT格式转换成字符串.X是一个日期,FORMAT是一个规定了X采用 ...
- java 获取oracle表结构_获取Oracle中所有表的列表?
回答(19) 2 years ago 我们可以从以下查询获取所有表格,包括列详细信息: SELECT * FROM user_tab_columns; 2 years ago 使用sqlplus更好地 ...
- oracle 日期改字符格式_oracle 日期转换格式
在网上看见不少oracle新学者对oracle的时间格式很烦,经常是设计了一个带时间字段的表之后,向表插入数据失败.回想起自己刚开始学习oracle时,也对这个时间格式摸不着头脑,虽然是小小的问题,高 ...
- mbk文件导入到oracle,将Oracle DMP文件导入到oracle的全新安装中
客户向我们发送了一个我们需要测试的Oracle数据库.我们不使用Oracle或拥有任何内部Oracle专业知识. 我们需要设置数据库,以便我们可以连接到它并调试问题. 我重新安装了Oracle 9(客 ...
最新文章
- 1022 Digital Library
- ICCV 2021 | 国科大提出首个CNN和Transformer双体主干网络!Conformer准确率高达84.1%!...
- poj3279 Fliptile
- vscode 语法检查_Jenkins 声明式流水线的语法错误检查
- virtual box linux 安装增强功能,Linux 开发环境中为VirtualBox安装增强功能
- numeric比较大小 数据库_Liquibase 数据库版本管理工具:3. changeSet 变更集详解
- 整数转字符串,字符串转整数
- hp ux安装oracle 11g,HP UX安装oracle 11g asm扫不到盘
- 学习OpenGL ES之法线贴图
- 广西北部湾经济区升级发展 全面对接粤港澳大湾区
- 计算机图形学入门(十七)-光线追踪(蒙特卡洛积分与路径追踪)
- influence和effect的区别
- 【工具使用】Word 排版
- 如何配置SQL Server 2008管理器_过路老熊_新浪博客
- 牛客网-腾讯编程校招真题 编码 Java
- Python入门习题大全——大号T恤
- 如何查询网站服务器类型
- 使用 Excel 和 Math.Net 进行曲线拟合和数据预测
- 前端皮肤功能实现(基于Less)
- CSS文字溢出省略号