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
È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top