我运行以下查询,不知怎的,我觉得结果是错误的。
SQL> select to_char(starttime,'dd-mm-YYYY hh24:mi:ss')
from report
where dateofmonth between
to_timestamp_tz('22-Apr-2013 12:00:00','dd-mm-YYYY hh24:mi:ss')
and to_timestamp_tz ('23-Apr-2013 14:00:00','dd-mm-YYYY hh24:mi:ss');
TO_CHAR(STARTTIME,
--------------------
23-04-2013 22:43:59
23-04-2013 13:43:37
SQL> select to_timestamp_tz(starttime,'dd-mm-YYYY hh24:mi:ss')
from report
where dateofmonth between
to_timestamp_tz('22-Apr-2013 12:00:00','dd-mm-YYYY hh24:mi:ss')
and to_timestamp_tz ('23-Apr-2013 14:00:00','dd-mm-YYYY hh24:mi:ss');
TO_TIMESTAMP_TZ(STARTTIME,'DD-MM-YYYYHH24:MI:SS')
-------------------------------------------------
23-APR-13 10.43.59 PM -07:00
23-APR-13 01.43.37 PM -07:00
我不确定为什么10 PM的时间会出现在结果中。
答案 0 :(得分:0)
Manjit,
您正在选择starttime列,但where子句具有dateofmonth列。在查询中选择starttime和dateofmonth,并检查它是否给出了正确的结果。