Oracle
 sql >> Base de données >  >> RDS >> Oracle

select distinct(date) renvoie plusieurs fois la même date

Essayez la requête ci-dessous, qui ajoute simplement TRUNC() à votre colonne de date avant de prendre un DISTINCT de celui-ci.

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

En effet, le facteur temps dans les données de votre colonne n'est pas le même.

TRUNC() annulera l'élément horaire, en ne conservant que la date

La requête le révélera réellement. TO_CHAR() pour afficher la date enregistrée dans le format spécifié.

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

En savoir plus sur TRUNC de Oracle Docs