Oracle
 sql >> Datenbank >  >> RDS >> Oracle

wählen Sie verschiedene (Datum) aus, geben Sie das gleiche Datum mehrmals zurück

Probieren Sie die folgende Abfrage aus, die einfach TRUNC() hinzufügt zu Ihrer Datumsspalte, bevor Sie ein DISTINCT nehmen davon.

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

Dies liegt daran, dass der Zeitfaktor in Ihren Spaltendaten nicht derselbe ist.

TRUNC() hebt das Zeitelement auf und behält nur das Datum bei

Die Abfrage wird es tatsächlich zeigen. TO_CHAR() um das gespeicherte Datum im angegebenen Format auszugeben.

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

Mehr über TRUNC aus Oracle Docs