Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

selecione distinct(date) retorne a mesma data várias vezes


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