Oracle 19c.我有一个表,created_date列为DATE。有人能建议如何从同一日期内的9PM和12PM之间的created_date表中选择记录吗?因此,对于下面的数据,它将显示5条记录。以下是数据的示例:
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
1条答案
按热度按时间zwghvu4y1#
如果你需要21和12之间的周期,那么你需要所有小于12和大于21的周期。
在这种情况下,解决方案非常简单:
或者,如果你需要00和12之间的时间,那么这种情况将是合适的:
另外,你可以在示例中检查这一点:https://dbfiddle.uk/mZy-jn-D