DATE
es una palabra clave reservada en Oracle, por lo que estoy usando el nombre de columna your_date
en su lugar.
Si tiene un índice en your_date
, usaría
WHERE your_date >= TO_DATE('2010-08-03', 'YYYY-MM-DD')
AND your_date < TO_DATE('2010-08-04', 'YYYY-MM-DD')
o 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')
Si no hay índice o si no hay demasiados registros
WHERE TRUNC(your_date) = TO_DATE('2010-08-03', 'YYYY-MM-DD')
debería ser suficiente. TRUNC
sin parámetro elimina horas, minutos y segundos de un DATE
.
Si el rendimiento realmente importa, considere poner un Function Based Index
en esa columna:
CREATE INDEX trunc_date_idx ON t1(TRUNC(your_date));