在設計數據庫的時候,有些字段會默認取數據庫的時間 sysdate,對 sysdate格式化的時候,記錄下 Oracle 中的坑,
to_char(sysdate, 'yyyyMMdd hh24:mm:ss') ---錯誤的方式
to_char(sysdate, 'yyyyMMdd hh24:mi:ss') ---正確的方式
這種習慣的寫法 to_char(sysdate, 'yyyyMMdd hh24:mm:ss') 中的 m ,有點傻,oracle分不清是月份 m, 還是分鐘 m,所以分鐘中的m 他取的月份,造成比較詭異的時間。。。
正常的寫法是把分鐘用 mi 表示(min分鐘的簡寫),
所以 to_char(sysdate, 'yyyyMMdd hh24:mi:ss') 是正確的方式。
測試使用 select to_char(sysdate, 'yyyyMMdd hh24:mi:ss') from dual 之後,時間顯示正常。