1.問題1
執行下列SQL:
sql = "select count(1) as totle from vhl_model_data a where a.OBTAIN_CREATE_TIME between to_date(?,'yyyymmsshh24mi') and to_date(?,'yyyymmsshh24mi');";
Oracle報“無效數字異常”;經過兩個鍾頭的反復的檢查,發現是由於自己粗心在上述語句結尾多寫了個分號“;”導致。粗心害死人啊!真是囧!
2.問題2
ORA-01830: 日期格式圖片在轉換整個輸入字符串之前結束”異常
原因:在創建表的時候,將本該達date類型的字段寫成了varchar2類型,而在hibernate的mapping配置文件中將此字段的類型設為了“java.util.Date”,這樣在保存的時候hibernate會把毫秒數也添加到數據庫中,而oracle中date類型不支持毫秒數,所以在使用to_date()函數將字符串轉換為時間類型時會報錯。
解決辦法就是把表中此字段的類型改為date類型或者使用to_timestamp()函數,用法與to_date()函數一樣,時間格式為:'yyyy-mm-ss hh24:mi:ss:ff'