昨晚做一個系統時,需要查詢兩個時間區間的跨度,需要使用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中的格式化字符串不區分大小寫ORA-01810: 格式代碼出現兩次