sql >> Database >  >> RDS >> Oracle

Oracle DateTime in Where-clausule?

Ja:TIME_CREATED bevat een datum en een tijd . Gebruik TRUNC om de tijd te strippen:

SELECT EMP_NAME, DEPT
FROM EMPLOYEE
WHERE TRUNC(TIME_CREATED) = TO_DATE('26/JAN/2011','dd/mon/yyyy')

UPDATE:
Zoals Dave Costa in de onderstaande opmerking aangeeft, voorkomt dit dat Oracle de index van de kolom TIME_CREATED gebruikt. als het bestaat. Een alternatieve benadering zonder dit probleem is deze:

SELECT EMP_NAME, DEPT
FROM EMPLOYEE
WHERE TIME_CREATED >= TO_DATE('26/JAN/2011','dd/mon/yyyy') 
      AND TIME_CREATED < TO_DATE('26/JAN/2011','dd/mon/yyyy') + 1


  1. Snelle manier om aaneengeschakelde strings in Oracle te genereren

  2. Meerdere versies van de database maken en implementeren via schema-snapshots

  3. Werk een kolom van een tabel bij met een kolom van een andere tabel in PostgreSQL

  4. Welke bedrijfstakken profiteren het meest van toegang?