to_char函数不要使用hh格式

昨天检查程序,那些程序员一个小小的错误,他们把日期转换成字符串作为记录主关键字的一部分,我当时看了感觉应该使用hh24格式。

例子如下:
 => select sysdate a ,to_char(sysdate,'yyyymmddhh') b ,to_char(sysdate-16/24,'yyyymmddhh') c from dual ;

SYSDATE             TO_CHAR(SY TO_CHAR(SY
------------------- ---------- ----------
2010-05-21 16:41:23 2010052104 2010052112

可以发现hh的范围实际上是1-12.如果是0点某个时刻,实际上显示的是12.

这个是很容易判断出错!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-663358/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/267265/viewspace-663358/