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

Oracle DateTime in Where-Klausel?

Ja:TIME_CREATED enthält ein Datum und eine Uhrzeit . Verwenden Sie TRUNC um die Zeit abzustreifen:

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

AKTUALISIERUNG:
Wie Dave Costa im Kommentar unten anmerkt, verhindert dies, dass Oracle den Index der Spalte TIME_CREATED verwendet wenn es existiert. Ein alternativer Ansatz ohne dieses Problem ist dieser:

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