跨多个日期选择特定时间戳记间隔

我尝试过在谷歌和其他各种网站上搜索但没有运气,甚至尽可能使搜索词模糊不清。

我有跨多天的数据查询,但我只想选择时间在21:45和22:45之间的数据。

使用整个数据构建的临时表具有从to_date转换为to_char的数据列,因此将其更改回to_date或to_timestamp是必要的,我认为。

问题是我已经尝试了这两个并获得无效月错误。 例如to_date(complete_date,'hh24:mi:ss')给了我错误。

我不确定如何过滤时间戳记间隔而不给出硬编码日期。

提前谢谢了。 我正在使用Oracle Sql,不幸的是我目前没有查询。 它在电脑上工作。 如果回复来了,我在工作,我可以回复更多的信息。

With details as (
      select to_char(complete_date, 'yyyy-mm-dd hh24:mi:ss') complete_date, 
             to_char(complete_date, 'hh24:mi:ss') as ts from table 
      where complete_date between trunc(sysdate)-30 and trunc(sysdate) )

select * from details where ts between '21:45:00' and '22:45:00'

我能够使用时间戳进行过滤:

Round(Extract(to_timestamp(complete_date,'yyyy-mm-dd hh24:mi'ss'))+(extract(从minute_to_timestamp(complete_date,'yyyy-mm-dd hh24:mi:ss'))/ 60 ),2)count_ts

然后筛选21.75到22.75之间的count_ts。 这将允许我在这些时间之间获取任何数据,而不管一天。

问题解决了。

链接地址: http://www.djcxy.com/p/36941.html

上一篇: Select specific timestamp interval across multiple dates

下一篇: Reading Timestamp column from Oracle using Java.. rs.getString(index)