DATE
ist ein reserviertes Schlüsselwort in Oracle, daher verwende ich den Spaltennamen your_date
stattdessen.
Wenn Sie einen Index auf your_date
haben , würde ich verwenden
WHERE your_date >= TO_DATE('2010-08-03', 'YYYY-MM-DD')
AND your_date < TO_DATE('2010-08-04', 'YYYY-MM-DD')
oder 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')
Wenn es keinen Index gibt oder wenn es nicht zu viele Datensätze gibt
WHERE TRUNC(your_date) = TO_DATE('2010-08-03', 'YYYY-MM-DD')
sollte ausreichen. TRUNC
ohne Parameter entfernt Stunden, Minuten und Sekunden aus einem DATE
.
Wenn Leistung wirklich wichtig ist, sollten Sie einen Function Based Index
erstellen in dieser Spalte:
CREATE INDEX trunc_date_idx ON t1(TRUNC(your_date));