Tente a consulta abaixo, que apenas adiciona
TRUNC()
para sua coluna de data antes de fazer um DISTINCT
disso. select distinct(TRUNC(MY_DATE)) from MY_TABLE where extract(year from MY_DATE) = 2014;
Isso ocorre porque o fator de tempo nos dados da coluna não é o mesmo.
TRUNC()
anulará o elemento de tempo, mantendo apenas a data A consulta irá realmente revelá-lo.
TO_CHAR()
para produzir a data salva no formato especificado. select TO_CHAR(MY_DATE,'MM-DD-YYYY HH24:MI:SS') from MY_TABLE where extract(year from MY_DATE) = 2014;
Mais sobre
TRUNC
de Documentos Oracle