Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle DateTime dans la clause Where ?

Oui :TIME_CREATED contient une date et une heure . Utilisez TRUNC pour décaper le temps :

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

MISE À JOUR :
Comme le souligne Dave Costa dans le commentaire ci-dessous, cela empêchera Oracle d'utiliser l'index de la colonne TIME_CREATED s'il existe. Une approche alternative sans ce problème est la suivante :

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