Если вам нужны данные за полный 25 день и исключая все 26, вам необходимо удалить первую секунду из 26:
where myDate >= Date '2009-08-25' and myDate < Date '2009-08-26'
или
where myDate between Date '2009-08-25' and Date '2009-08-26' - interval '1' second
Обновление - Небольшая точность: в Oracle тип данных DATE
используется как для типов «Дата» со временем, так и без него. Если вы имеете дело с датами без времени, они обычно хранятся в сегменте времени 00:00, то есть в полночь. Из-за этого первый интервал (my_date between '2009-08-25' and '2009-08-26'
) потенциально выберет два полных дня.
Удаляя первую секунду из 26, вы гарантируете, что не будете случайно выбирать строки из 26.