Exemplo MOSTRANDO que funciona a opção de indicar 00:00:00 na porção TIME faltante :
==> ALtero a Exibição, só pra podermos ver o resultado mais facilmente : scott@O11GR2:SQL>alter session set NLS_DATE_FORMAT='dd/mm/yyyy hh24:mi:ss'; Sessão alterada. ==> crio a tabela : scott@O11GR2:SQL>create table T (c1 varchar2(40), c2 date); Tabela criada. ==> insiro uma data ** SEM ** o componente TIME : scott@O11GR2:SQL>insert into T values ('Linha 1', to_date('24/08/2016', 'dd/mm/yyyy')); 1 linha criada. ==> insiro umas datas COM time : scott@O11GR2:SQL>insert into T values ('Linha 2', to_date('24/08/2016 14:10:05', 'dd/mm/yyyy hh24:mi:ss')); 1 linha criada. scott@O11GR2:SQL>insert into T values ('Linha 3', to_date('24/08/2016 09:35:00', 'dd/mm/yyyy hh24:mi:ss')); 1 linha criada. ==> veja a massa de dados presente : scott@O11GR2:SQL>select * from T; C1 C2 ---------------------------------------- ------------------- Linha 1 24/08/2016 00:00:00 Linha 2 24/08/2016 14:10:05 Linha 3 24/08/2016 09:35:00 ==> taí a Demonstração que ** REALMENTE ** quando vc não informa TIME (como eu fiz !!) o RDBMS automagicamente mete zeros, E portanto a técnica funciona : scott@O11GR2:SQL>select * from T where c2 = to_date('24/08/2016 00:00:00'); C1 C2 ---------------------------------------- ------------------- Linha 1 24/08/2016 00:00:00 scott@O11GR2:SQL> c.q.d. []s Chiappa