Prøv forespørgslen nedenfor, som blot tilføjer TRUNC() til din datokolonne, før du tager en DISTINCT af det.
select distinct(TRUNC(MY_DATE)) from MY_TABLE where extract(year from MY_DATE) = 2014;
Dette skyldes, at tidsfaktoren i dine kolonnedata ikke er den samme.
TRUNC() annullerer tidselementet og beholder kun datoen
Forespørgslen vil faktisk afsløre det. TO_CHAR() for at udlæse den gemte dato i det angivne format.
select TO_CHAR(MY_DATE,'MM-DD-YYYY HH24:MI:SS') from MY_TABLE where extract(year from MY_DATE) = 2014;
Mere om TRUNC fra Oracle Docs