oracle刪除168萬數據;varchar表示時間;java傳參date;傳參後的時間保存到秒

1 oracle刪除數據用了java

select count(*) from GPSTEST t where gpstime<'20140730020101'  有 1689675條數據sql

delete from GPSTEST t where gpstime<'20140730020101' 耗時 23分鐘數據庫

有索引oracle

2 varchar記錄時間spa

比較大小時能夠直接拿來比較,若是長度同樣的話,由於都是一位一位比較大小,因此有長度的限制.net

3 java傳參索引

儘可能不用to_date,因此當有條件判斷須要時間格式時get


相似 

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而拋出異常。it

ps:
在直接使用sql訪問數據庫的時候確定要用to_date的。test

此處參見: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

相關文章
相關標籤/搜索