2010-01-07 11 views
1

J'ai une requête nommée JPA qui prend deux dates afin de renvoyer des enregistrements avec une entrée de colonne de date entre les deux dates.Comment utiliser un EJBQL entre une requête avec deux dates identiques?

Si j'entre la même date pour les dates de début et de fin, elle ne renvoie aucune ligne, même s'il existe des enregistrements pour cette date.

Est-il possible de faire fonctionner la requête ou dois-je simplement exécuter une autre requête lorsque les deux dates sont identiques?

est ici la requête:

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

Répondre

4

J'ai tendance à courir toutes mes questions comme:

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

J'utilise rarement between - le SGBD que j'utilise a la même perormance quel que soit de ces méthodes est utilisé.

Mon conseil serait de faire quelques minutages pour voir s'il n'y a pas de dégradation des performances à l'utilisation where ... and au lieu de where ... between, puis basculer si non.

Certains SGBD excluent réellement les «points de terminaison» (premier et/ou dernier), ce qui est probablement ce que vous voyez. L'instruction SQL à deux clauses ne devrait pas avoir ce problème.