PL/SQL表中date類型的字段用getString方法取出之後的格式化爲日期的方法

前兩天遇到的問題:

當PL/SQL中表的字段爲Date時,但用getString的方法取出來之後的字符串爲“2010-02-27 00:00:00.0”格式。

直接將其to_char("2010-02-27 00:00:00.0","yyyy-MM-dd hh24:mi:ss")將其插入到數據庫時會報“java.lang.Exception: java.sql.SQLException: ORA-01830: 日期格式圖片在轉換整個輸入字符串之前結束”這樣的錯誤。

解決方法:

SimpleDateFormat df=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

String updatetime="null";

Calendar cal_updatetime=to_Date(“2010-02-27 00:00:00.0”);

if(cal_updatetime!=null){
updatetime="to_date('"+df.format(cal_updatetime.getTime())+"','yyyy/mm/dd hh24:mi:ss')";
}

String inSql=“insert into TEST(TIME) values("+updatetime+")”;



private Calendar to_Date(String Date_str) throws ParseException{
java.text.SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
Calendar cal = df.getCalendar();
boolean sqc = false; // 是否存在時區差
if (Date_str.endsWith("T")) {
sqc = true;
}
Date_str = Date_str.replaceAll("[^0-9]","");
if ("".equals(Date_str)) {
return null;
} else {
while (Date_str.length() < 14) {
Date_str = Date_str + "0";
}
java.util.Date date = df.parse(Date_str);
cal.setTime(date);
if (sqc) {
cal.set(Calendar.HOUR_OF_DAY,cal.get(Calendar.HOUR_OF_DAY) + 8);
}
return cal;
}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章