Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle DateTime na cláusula Where?


Sim:TIME_CREATED contém uma data e uma hora . Use TRUNC para tirar o tempo:
SELECT EMP_NAME, DEPT
FROM EMPLOYEE
WHERE TRUNC(TIME_CREATED) = TO_DATE('26/JAN/2011','dd/mon/yyyy')

ATUALIZAÇÃO:
Como Dave Costa aponta no comentário abaixo, isso impedirá o Oracle de usar o índice da coluna TIME_CREATED se existe. Uma abordagem alternativa sem esse problema é esta:
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