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