oracle删除168万数据;varchar表示时间;java传参date;传参后的时间保存到秒
2014-07-31 00:00
232 查看
1 oracle删除数据用了
select count(*) from GPSTEST t where gpstime<'20140730020101' 有 1689675条数据
delete from GPSTEST t where gpstime<'20140730020101' 耗时 23分钟
有索引
2 varchar记录时间
比较大小时可以直接拿来比较,如果长度一样的话,因为都是一位一位比较大小,所以有长度的限制
3 java传参
尽量不用to_date,所以当有条件判断需要时间格式时
类似
date a,b= ....
PrepareStatment s = 'select * from test where mydatecolumn between ? and ?'
s.set(1) = a;
s.set(2) = b;
而不是使用s = 'select * from test where mydatecolumn between to_date( '2007-10-22 20:20:20 ', 'yyyy-MM-DD hh-mm-ss ') and to_date( '2007-10-22 22:22:22 ', 'yyyy-MM-DD hh-mm-ss ')'
因为这样会出现数据的不一致,比如出现不符合要求的日期:2007-22-22而抛出异常。
ps:
在直接使用sql访问数据库的时候肯定要用to_date的。
此处参见:http://bbs.csdn.net/topics/190057099
4传参后的时间保存到秒
用3方法中储存数据则时间只会到日,精确到秒使用
java.sql.Date sd;
java.util.Date ud ;
ud = new java.util.Date();
sd = new java.sql.Date(ud.getTime());
ptmt = conn.prepareStatement("insert into plan_singlebridge values (?)");
ptmt.setDate(1, sd);
-----
实际存入的数据之精确到天并没有时秒分的数据;
困扰了很久
改成时间戳的形式就可以了
ptmt.setTimestamp(1,new java.sql.Timestamp(Calendar.getInstance().getTime().getTime()));
此处参见 : http://www.iteye.com/topic/128068
select count(*) from GPSTEST t where gpstime<'20140730020101' 有 1689675条数据
delete from GPSTEST t where gpstime<'20140730020101' 耗时 23分钟
有索引
2 varchar记录时间
比较大小时可以直接拿来比较,如果长度一样的话,因为都是一位一位比较大小,所以有长度的限制
3 java传参
尽量不用to_date,所以当有条件判断需要时间格式时
类似
date a,b= ....
PrepareStatment s = 'select * from test where mydatecolumn between ? and ?'
s.set(1) = a;
s.set(2) = b;
而不是使用s = 'select * from test where mydatecolumn between to_date( '2007-10-22 20:20:20 ', 'yyyy-MM-DD hh-mm-ss ') and to_date( '2007-10-22 22:22:22 ', 'yyyy-MM-DD hh-mm-ss ')'
因为这样会出现数据的不一致,比如出现不符合要求的日期:2007-22-22而抛出异常。
ps:
在直接使用sql访问数据库的时候肯定要用to_date的。
此处参见:http://bbs.csdn.net/topics/190057099
4传参后的时间保存到秒
用3方法中储存数据则时间只会到日,精确到秒使用
java.sql.Date sd;
java.util.Date ud ;
ud = new java.util.Date();
sd = new java.sql.Date(ud.getTime());
ptmt = conn.prepareStatement("insert into plan_singlebridge values (?)");
ptmt.setDate(1, sd);
-----
实际存入的数据之精确到天并没有时秒分的数据;
困扰了很久
改成时间戳的形式就可以了
ptmt.setTimestamp(1,new java.sql.Timestamp(Calendar.getInstance().getTime().getTime()));
此处参见 : http://www.iteye.com/topic/128068
相关文章推荐
- Oracle 日期数据保存在 varchar,Date 类型字段中的处理
- java 删除oracle指定表的数据同时清除对应存储的数据
- 索引临时表【Oracle】比较快的删除重复数据的方式Strut2教程-java教程
- Java向MySQL数据库插入时间类型Date数据时需要注意的问题(二)
- JAVA将图片保存成oracle的Blob类型数据
- Oracle 误删除 或者更改找回 指定时间之前的数据
- 删除重复数据只保存一条--ms sql及oracle实现方法
- 【慕课笔记】第三章 JAVA中必须了解的常用类 第4节 使用Date和SimpleDateFormat类表示时间
- java 使用 Date 和 SimpleDateFormat 类表示时间
- java date 转string 时间由不精确到精确时,丢失数据,会自动补全
- java中Date类型数据与oracle中Date类型数据的相互转换(转)
- W3C XML 模式时间数据类型与java Date进行转换
- oracle中往varchar2格式的字段中插入date时间格式的值会发生什么?
- java中的常用类、Date和SimpleDateFormat类表示时间、java中基本类型和包装之间的转换
- Java保存yyyy-MM-dd HH:mm:ss日期字符串到 oracle date类型字段[原]
- Oracle 11g 数据恢复 数据误删除后的恢复 0、执行 select log_mode from v$database;查看是否为归档模式 1、确定删除时间和被删除的表 04-23,GR
- Oracle按时间点还原数据表--用于处理数据误删除
- oracle.jbo.domain.Date java.utils.Date java.sql.Date 时间转换测试
- [JAVA]从链表中删除重复数据(时间、空间)
- Java实体Date类型属性值无法保存到数据表对应字段的问题