Вы можете посмотреть только на часовую часть;поскольку у вас есть временная метка, вы можете извлечь номер часа:
where extract(hour from closed_date) = 9
, который найдет строки там, где время включено или после 09:00:00, и до (не включая) 10: 00: 00.
Обычно при просмотре данных за период времени, например, «между 9 и 10», вы на самом деле не хотите включать верхний предел, потому что если вы также просматривали данные«между 10 и 11», тогда данные в 10:00:00 будут включены в оба, что, вероятно, не то, что предполагалось.Поэтому для сравнений даты и времени характерно использование >=
и <
вместо between
;Вы также можете сделать это с помощью сравнения строк, которое вы можете считать более понятным:
where to_char(closed_date, 'HH24:MI:SS') >= '09:00:00'
and to_char(closed_date, 'HH24:MI:SS') < '10:00:00'
или чуть проще
where to_char(closed_date, 'HH24') >= '09'
and to_char(closed_date, 'HH24') < '10'
, который в данном случае, поскольку это один час, являетсятак же, как:
where to_char(closed_date, 'HH24') = '09'
, но, так как вы все равно смотрите только на часовую часть, извлечение ее в виде числа упрощает ее еще больше (IMO).