oracle 報“無效數字”異常和“ORA-01830: 日期格式圖片在轉換整個輸入字符串之前結束”


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'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM