在设计数据库的时候,有些字段会默认取数据库的时间 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 之后,时间显示正常。
作者:技术大咖秀