跨多个日期选择特定时间戳记间隔
我尝试过在谷歌和其他各种网站上搜索但没有运气,甚至尽可能使搜索词模糊不清。
我有跨多天的数据查询,但我只想选择时间在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)