Oracle 获取特定日期和时间之间的所有数据

Oracle 获取特定日期和时间之间的所有数据,oracle,oracle11g,Oracle,Oracle11g,我正在使用只读访问权限从远程oracle数据库读取数据。我想查询某个时间范围内的所有数据。实际上,我想在午夜和当前时间之间进行查询。所以我使用的查询是: TO_DATE(to_char(sysdate, 'MM-dd-yyyy')||'00:00:00','MM-dd-yyyy HH24:MI:SS' ) AND TO_DATE(to_char(sysdate, 'MM-dd-yyyy HH24:MI:SS'),'MM-dd-yyyy HH24:MI:SS' ) 但问题是 select

我正在使用只读访问权限从远程oracle数据库读取数据。我想查询某个时间范围内的所有数据。实际上,我想在午夜和当前时间之间进行查询。所以我使用的查询是:

TO_DATE(to_char(sysdate, 'MM-dd-yyyy')||'00:00:00','MM-dd-yyyy HH24:MI:SS' ) 
AND 
TO_DATE(to_char(sysdate, 'MM-dd-yyyy HH24:MI:SS'),'MM-dd-yyyy HH24:MI:SS' ) 
但问题是

 select TO_DATE(to_char(sysdate, 'MM-dd-yyyy HH24:MI:SS'),'MM-dd-yyyy HH24:MI:SS' ) from dual
仅在2012年4月18日返回,而不是时间。我怎么也有时间

我正在跑步:

ALTER SESSION SET NLS_DATE_FORMAT='DD-MON-YYYY HH24:MI:SS';

但我不想每次都用其他方法来解决这个问题。

你看到的并不是真正存在的东西。
Oracle将日期保存为一个数字,表示日期以及查询日期时的查看方式取决于NLS参数。
你看不到时间并不意味着没有时间

至于你的问题,我会这样做:

... BETWEEN trunc(sysdate) AND sysdate

我认为将日期转换为字符串,然后再返回到具有相同格式的日期是没有用的…

当我运行第二个字符串时,我也得到了时间query@AmitBhargava我没有:(好像有什么问题