DATE
é uma palavra-chave reservada no Oracle, então estou usando o nome da coluna your_date
em vez de. Se você tiver um índice em
your_date
, Eu usaria WHERE your_date >= TO_DATE('2010-08-03', 'YYYY-MM-DD')
AND your_date < TO_DATE('2010-08-04', 'YYYY-MM-DD')
ou
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')
Se não houver índice ou se não houver muitos registros
WHERE TRUNC(your_date) = TO_DATE('2010-08-03', 'YYYY-MM-DD')
deve ser suficiente.
TRUNC
sem parâmetro remove horas, minutos e segundos de um DATE
. Se o desempenho realmente importa, considere colocar um
Function Based Index
nessa coluna:CREATE INDEX trunc_date_idx ON t1(TRUNC(your_date));