1. 程式人生 > >ORA-01810格式程式碼出現兩次 的解決方案

ORA-01810格式程式碼出現兩次 的解決方案

  昨晚做一個系統時,需要查詢兩個時間區間的跨度,需要使用TO_DATE函式,一開始寫成了

Sql程式碼

   TO_DATE('2011-09-24 00:00:00','YYYY-MM-DD HH:mm:ss') 

結果報ORA-01810 格式程式碼出現兩次的錯誤.後來上網查詢後,發現是格式化字串有問題,
其中不應該將某個格式重複兩次,否則Oracle就不知道要從哪個佔位區間去解析該欄位了,
正確的格式應該是這樣的,用MI來代表分鐘,而不是java中的mm
Sql程式碼 
   TO_CHAR('2011-09-01 00:00:00','YYYY-MM-DD HH:MI:SS') 

後來發現對於24小時制,HH支援的不好,又改成一下格式:

Sql程式碼 
   TO_CHAR('2011-09-01 00:00:00','YYYY-MM-DD HH24:MI:SS') 

ORACLE中的格式化字串不區分大小寫