2010-01-07 8 views
1

У меня есть запрос JPA с именем, который принимает две даты, чтобы возвращать записи с записью столбца даты между двумя датами.Как использовать EJBQL между запросами с двумя идентичными датами?

Если я вхожу в ту же дату как для даты начала, так и для конца, он не возвращает строк, даже если для этой даты есть записи.

Есть ли способ заставить запрос работать, или я просто запускаю другой запрос, когда две даты совпадают?

Вот запрос:

select o from CustomerOrder o 
where o.orderDate between :date_from and :date_to 
order by o.orderDate desc 

ответ

4

Я склонен выполнять все мои запросы, как:

select fld from tbl 
where date >= &start_date 
    and date <= &end_date; 

Я редко использую between - СУБД я использую имеет тот же perormance независимо от того, какой из этих методов используется.

Моей рекомендацией было бы сделать некоторые тайминги, чтобы увидеть, нет ли снижения производительности при использовании where ... and вместо where ... between, а затем переключиться, если нет.

Некоторые СУБД фактически исключают «конечные точки» (первые и/или последние), которые, вероятно, вы видите. Операция SQL с двумя предложениями не должна иметь такой проблемы.

 Смежные вопросы

  • Нет связанных вопросов^_^