DATE
is een gereserveerd trefwoord in Oracle, dus ik gebruik kolomnaam your_date
in plaats daarvan.
Als je een index hebt op your_date
, ik zou gebruiken
WHERE your_date >= TO_DATE('2010-08-03', 'YYYY-MM-DD')
AND your_date < TO_DATE('2010-08-04', 'YYYY-MM-DD')
of BETWEEN
:
WHERE your_date BETWEEN TO_DATE('2010-08-03', 'YYYY-MM-DD')
AND TO_DATE('2010-08-03 23:59:59', 'YYYY-MM-DD HH24:MI:SS')
Als er geen index is of als er niet te veel records zijn
WHERE TRUNC(your_date) = TO_DATE('2010-08-03', 'YYYY-MM-DD')
zou voldoende moeten zijn. TRUNC
zonder parameter verwijdert uren, minuten en seconden van een DATE
.
Als prestaties er echt toe doen, overweeg dan om een Function Based Index
. te plaatsen in die kolom:
CREATE INDEX trunc_date_idx ON t1(TRUNC(your_date));