DATE
е запазена ключова дума в Oracle, така че използвам име на колона your_date
вместо това.
Ако имате индекс на your_date
, бих използвал
WHERE your_date >= TO_DATE('2010-08-03', 'YYYY-MM-DD')
AND your_date < TO_DATE('2010-08-04', 'YYYY-MM-DD')
или 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')
Ако няма индекс или ако няма твърде много записи
WHERE TRUNC(your_date) = TO_DATE('2010-08-03', 'YYYY-MM-DD')
трябва да е достатъчно. TRUNC
без параметър премахва часове, минути и секунди от DATE
.
Ако производителността наистина има значение, помислете за поставянето на Function Based Index
на тази колона:
CREATE INDEX trunc_date_idx ON t1(TRUNC(your_date));