Oracle 日期时间格式化不准的问题, hh24:mi:ss 才是正确的写法

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

发布了144 篇原创文章 · 获赞 146 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/shipfei_csdn/article/details/104789260