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

vælg distinct(dato) returner den samme dato flere gange

Prøv forespørgslen nedenfor, som blot tilføjer TRUNC() til din datokolonne, før du tager en DISTINCT af det.

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

Dette skyldes, at tidsfaktoren i dine kolonnedata ikke er den samme.

TRUNC() annullerer tidselementet og beholder kun datoen

Forespørgslen vil faktisk afsløre det. TO_CHAR() for at udlæse den gemte dato i det angivne format.

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

Mere om TRUNC fra Oracle Docs



  1. JPA SequenceGenerator og GeneratedValue:navn / generator egenskab kun unik pr. klasse?

  2. IntegrityError:(1062, Dublet indtastning for nøgle)

  3. Google Cloud SQL øger størrelsen indtil fuld disk uden grund

  4. Ugyldigt datetime-format:1292 Forkert datetime-værdi