Oracle
 sql >> Database >  >> RDS >> Oracle

seleziona distinto(data) restituisce la stessa data più volte

Prova la query qui sotto, che aggiunge semplicemente TRUNC() nella colonna della data prima di prendere un DISTINCT di esso.

select distinct(TRUNC(MY_DATE)) from MY_TABLE where extract(year from MY_DATE) = 2014;

Ciò è dovuto al fatto che il fattore tempo nei dati della colonna non è lo stesso.

TRUNC() annullerà l'elemento ora, conservando solo la data

La query lo rivelerà effettivamente. TO_CHAR() per emettere la data salvata nel formato specificato.

select TO_CHAR(MY_DATE,'MM-DD-YYYY HH24:MI:SS') from MY_TABLE where extract(year from MY_DATE) = 2014;

Ulteriori informazioni su TRUNC da Documenti Oracle