就是这段SQL:SELECT (SELECT COUNT(*) FROM DAP_HOLIDAY WHERE ADJUST=1 AND SWITCH_DATE>=to_date(to_char(to_date('2007-8-2 0:00:00','yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd'),'yyyy-mm-dd') AND SWITCH_DATE<=to_date(to_char(to_date('2007-8-3 0:00:00','yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd'),'yyyy-mm-dd')) AS noHolidayCount,(SELECT COUNT(*) FROM DAP_HOLIDAY WHERE ADJUST=-1 AND SWITCH_DATE>=to_date(to_char(to_date('2007-8-2 0:00:00','yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd'),'yyyy-mm-dd') AND SWITCH_DATE<=to_date(to_char(to_date('2007-8-3 0:00:00','yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd'),'yyyy-mm-dd')) AS holidayCount FROM DAP_HOLIDAY  WHERE ROWNUM<=1

解决方案 »

  1.   

    通常,客户端与数据库建立起连接后,oracle就会给一个缺省的时间格式数据的显示形式,与所使用的字符集有关。一般显示年月日,而不显示时分秒。例如,使用us7ascii字符集(或者是其他的英语字符集)时,缺省的时间格式显示为:3-Aug-2008,而使用zhs16gbk字符集(或其他中文字符集)时时间格式缺省显示为:2003-8月-3.如果不使用转换函数,则时间字段的格式必须遵从会话环境的时间格式,查看当前会话的时间格式,可以使用以下的SQL语句:SQL> select sysdate from dual;