我的数据库中的字段类型TIMESTAMP(6),我的字段值是29-7月 -08 12.55.00.000000 上午
我想取出其中小时是12,可是用to_char(quickreport.acctime,'hh24') 取出来是00,要是用to_char(quickreport.acctime,'hh')是12,可是如果字段值 29-7月 -08 16.55.00.000000 下午
这时取出来的小时又会变成4,怎么可以完整的表示一天中的24小时。

解决方案 »

  1.   

    用to_char(xxx,'hh24')没问题。楼主所举的例子也没问题,以24小时记,时间一过正午12:00时,就对应“下午”了。
    所以这个时间:“29-7月 -08 12.55.00.000000 上午 ”就是夜里12点,也就是0点。
      

  2.   

    SQL> select to_char(sysdate,'hh24') from dual;TO
    --
    18没问题啊!
      

  3.   

    08 12.55.00.000000 上午 
    上午导致to_char(date,'hh24')出来的值为00
      

  4.   

    是这样的,我在住数据库中存时间时,在中午的12:00到13:00之间时自动生成的都是
    29-7月 -08 12.55.00.000000 上午 
    超过13:00才是下午,不知道是那的问题。我用oracle9和10都是这个问题,
      

  5.   

    怎么可看时区呀,
    select dbtimezone from dual;
    显示如下
    dbtimezone
    +00:00这是什么时区