2011-09-26 446 views
0

我读了很多教程,它们互换地使用hh23和hh24。在oracle上做to_char。 hh23是传统语法吗?我试图做简单的查询,它会导致一个错误。从双hh23对oracle的意义是什么

选择TO_CHAR(SYSDATE, 'HH23'),TO_CHAR(SYSDATE, 'HH24')我试图找到这一个参考,但有没有。还是教程刚刚写错了?例如在http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:59412348055上。

+1

这是一个错字,正如您链接到的线索所讨论的那样。 – Thilo

+0

24小时格式,所以2pm将是12 + 2 = 14。 HH12将有2pm作为02,这意味着你需要AM/PM部分 – tbone

回答

2

我认为这只是一个错字。

SQL> select to_char(sysdate, 'hh23:mi:ss') from dual 
    2/
select to_char(sysdate, 'hh23:mi:ss') from dual 
         * 
ERROR at line 1: 
ORA-01821: date format not recognized 


SQL> select to_char(sysdate, 'hh24:mi:ss') from dual 
    2/

TO_CHAR(
-------- 
11:25:21 

SQL> 
2

这只是未经测试的代码中的打字错误。 'hh23'将总是给出错误。

+4

Tom Kyte所有发布未经测试的代码的人!我感觉晕眩! – APC

+1

证明他毕竟是人类...... – Ollie