Oracle:选择两小时之间的记录

6jjcrrmo  于 2023-10-16  发布在  Oracle
关注(0)|答案(1)|浏览(131)

Oracle 19c.我有一个表,created_date列为DATE。
有人能建议如何从同一日期内的9PM和12PM之间的created_date表中选择记录吗?因此,对于下面的数据,它将显示5条记录。
以下是数据的示例:

zwghvu4y

zwghvu4y1#

如果你需要21和12之间的周期,那么你需要所有小于12和大于21的周期。
在这种情况下,解决方案非常简单:

select to_char(created_date, 'dd.mm.yyyy HH24:mi:ss') created_date_str
from   mytable 
where  to_number(to_char(created_date, 'HH24')) >= 21
    or to_number(to_char(created_date, 'HH24')) <= 12

或者,如果你需要00和12之间的时间,那么这种情况将是合适的:

select to_char(created_date, 'dd.mm.yyyy HH24:mi:ss') created_date_str
from   mytable 
where  to_number(to_char(created_date, 'HH24')) between 0 and 12

另外,你可以在示例中检查这一点:https://dbfiddle.uk/mZy-jn-D

相关问题