Pruebe la consulta a continuación, que solo agrega TRUNC()
a su columna de fecha antes de tomar un DISTINCT
de eso.
select distinct(TRUNC(MY_DATE)) from MY_TABLE where extract(year from MY_DATE) = 2014;
Esto se debe a que el factor tiempo en los datos de su columna no es el mismo.
TRUNC()
anulará el elemento de tiempo, conservando solo la fecha
La consulta realmente lo revelará. TO_CHAR()
para generar la fecha guardada en el formato especificado.
select TO_CHAR(MY_DATE,'MM-DD-YYYY HH24:MI:SS') from MY_TABLE where extract(year from MY_DATE) = 2014;
Más sobre TRUNC
de Oracle Docs