oracle里to_date()如何转换am、pm时间

oracle里to_date()怎么转换am、pm时间?TRUNC(TO_DATE(24-Nov-1999 08:00 pm),dd-mon-yyyy hh:mi am)   

oracle里to_date()怎么转换am、pm时间?
TRUNC(TO_DATE('24-Nov-1999 08:00 pm'),'dd-mon-yyyy hh:mi am') 
  ='24-Nov-1999 12:00:00 am' 
  TRUNC(TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh:mi am'),'hh') ='24-Nov-1999 08:00:00 am'
哪位大侠给解释下,我是菜鸟,不明白to_date()是怎么转换am、pm时间的,百度google了没找到我想要的东西,先谢过了!
[最优解释]


Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
Connected as SYS

SQL> select TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh:mi am') from dual;

select TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh:mi am') from dual

ORA-01843: 无效的月份

SQL> alter session set nls_language=AMERICAN;

Session altered

SQL> select TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh:mi am') from dual;

TO_DATE('24-NOV-199908:37PM','
------------------------------
1999/11/24 20:37:00

SQL> 

[其他解释]
貌似没遇到过这种业务。。。。。。。。
[其他解释]
TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh:mi am')转换后的结果是什么? 是24-Nov-1999 12:00:00 am吗?如果是,那它的转换机制和原理是什么?如果不是,那应该是什么并请解释下原理,小女子灰常感谢!
[其他解释]
24小时制不行吗
[其他解释]

Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
Connected as SYS

SQL> select TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh:mi am') from dual;

select TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh:mi am') from dual

ORA-01843: 无效的月份

SQL> 

[其他解释]
答案是语法错误。
[其他解释]
引用:
SQL code123456789101112131415161718192021Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as SYS SQL> select TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh……



谢谢楼上的大哥,这两天有事都没有及时登录CSDN,我是新手,想学下oracle,刚刚装了oracle10g,实践出真知,稍后亲自实验下。再次表示感谢!
[其他解释]
你那个真不知道怎么换了。。。。换成24小时制呗
[其他解释]
引用:
SQL code123456789101112131415161718192021Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as SYS SQL> select TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh……

我想问问你
alter session set nls_language=AMERICAN;

这个语句是什么意思?属于DDL还是什么?
[其他解释]
引用:
SQL code123456789101112131415161718192021Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as SYS SQL> select TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh……



我执行的结果为什么跟你的不一样呢/

[其他解释]
24小时制

然后你自己转换不就得了。。

0-12 AM

13-24 转换成PM(-12)
[其他解释]
select to_char(sysdate,'yyyy-MM-DD HH12:MI:SS'),case when to_char(sysdate,'HH24')>12 then 'pm' else 'am' end from dual
[其他解释]

嗯,看书+实践 。我终于弄明白了,是时间格式的问题。 谢谢各位。