Опитайте заявката по-долу, която просто добавя TRUNC() към вашата колона с дати, преди да вземете DISTINCT от него.
select distinct(TRUNC(MY_DATE)) from MY_TABLE where extract(year from MY_DATE) = 2014;
Това е така, защото факторът време в данните на вашата колона не е същият.
TRUNC() ще анулира елемента време, запазвайки само датата
Запитването всъщност ще го разкрие. TO_CHAR() за извеждане на датата, записана в посочения формат.
select TO_CHAR(MY_DATE,'MM-DD-YYYY HH24:MI:SS') from MY_TABLE where extract(year from MY_DATE) = 2014;
Повече за TRUNC от Oracle Docs