Nem preciso dizer, vc ** pode ** juntar a técnica do BETWEEN pra desconsiderar a porção TIME com essa de perguntar se o TIME é zero : digamos que o seu Objetivo é trazer os registros aonde a porção DATE da coluna esteja entre 20/08/2016 até 24/08/2016 ** E ** que a porção TIME da coluna seja zero, indicado que isso não foi informado , vc poderia fazer simplesmente (juntado as duas coisas) :
SELECT colunas FROM tabela WHERE colunadate BETWEEN to_date('20/08/2016 00:00:00', 'dd/mm/yyyy hh24:mi:ss') AND to_date('24/08/2016 23:59:59', 'dd/mm/yyyy hh24:mi:ss') AND to_char(colunadate, 'HH24:MI:SS') = '00:00:00'; Yes ?? []s Chiappa