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

Oracle DateTime nella clausola Where?

Sì:TIME_CREATED contiene una data e un ora . Usa TRUNC per spogliare il tempo:

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

AGGIORNAMENTO:
Come fa notare Dave Costa nel commento qui sotto, ciò impedirà a Oracle di utilizzare l'indice della colonna TIME_CREATED se esiste. Un approccio alternativo senza questo problema è questo:

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