DATE
er et reserveret søgeord i Oracle, så jeg bruger kolonnenavn your_date
i stedet.
Hvis du har et indeks på your_date
, ville jeg bruge
WHERE your_date >= TO_DATE('2010-08-03', 'YYYY-MM-DD')
AND your_date < TO_DATE('2010-08-04', 'YYYY-MM-DD')
eller 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')
Hvis der ikke er noget indeks, eller hvis der ikke er for mange poster
WHERE TRUNC(your_date) = TO_DATE('2010-08-03', 'YYYY-MM-DD')
burde være tilstrækkeligt. TRUNC
uden parameter fjerner timer, minutter og sekunder fra en DATE
.
Hvis ydeevne virkelig betyder noget, kan du overveje at sætte et Function Based Index
på den kolonne:
CREATE INDEX trunc_date_idx ON t1(TRUNC(your_date));