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

Oracle DateTime i Where-klausulen?

Ja:TIME_CREATED indeholder en dato og et klokkeslæt . Brug TRUNC for at fjerne tiden:

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

OPDATERING:
Som Dave Costa påpeger i kommentaren nedenfor, vil dette forhindre Oracle i at bruge indekset for kolonnen TIME_CREATED hvis den findes. En alternativ tilgang uden dette problem er denne:

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. Sådan bruger du RANK() i SQL Server

  2. MySQL LIMIT-klausul svarer til SQL SERVER

  3. Det er ikke dig, det er mig (I/O-fejlfinding)

  4. Hvordan kan jeg vide, om en SQL-undtagelse blev kastet på grund af overtrædelse af en fremmednøgle?