- ORA-01810格式代碼出現兩次 的解決方案
- 需要查詢兩個時間區間的跨度,需要使用TO_DATE函數,一開始寫成了
-
Sql代碼
TO_DATE('2011-09-24 00:00:00','YYYY-MM-DD HH:mm:ss')
結果報ORA-01810 格式代碼出現兩次的錯誤.後來上網查詢後,發現是格式化字符串有問題,
其中不應該將某個格式重複兩次,否則Oracle就不知道要從哪個佔位區間去解析該字段了,
正確的格式應該是這樣的,用MI來代表分鐘,而不是java中的ss
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中的格式化字符串不區分大小寫