Come si usa un EJBQL tra query con due date identiche?
Domanda
Ho un nome di query JPA che prende due date al fine di restituire i record con una voce data di colonna tra le due date.
Se entro la stessa data per le date sia per l'iniziale e finale si restituisce alcuna riga, anche se ci sono record per quella data.
C'è modo per rendere il lavoro di query o devo basta eseguire un'altra query quando sono gli stessi delle due date?
Ecco la domanda:
select o from CustomerOrder o
where o.orderDate between :date_from and :date_to
order by o.orderDate desc
Soluzione
Io tendo a correre tutte le mie domande come:
select fld from tbl
where date >= &start_date
and date <= &end_date;
io uso raramente between
- i DBMS che uso ha lo stesso perormance indipendentemente da quale di questi metodi è usato
Il mio consiglio è di fare alcune temporizzazioni per vedere se non c'è un degrado delle prestazioni di utilizzare where ... and
invece di where ... between
e quindi passare in caso contrario.
Alcuni DBMS' effettivamente escludono gli 'endpoint'(prima e / o ultimi) che è probabilmente quello che stai vedendo. L'istruzione SQL due clausola non dovrebbe avere questo problema.