- 1
[Opened] jDAO et BETWEEN
Posted by webseb on 04/10/2008 23:46
Bonjour,
Est ce parce que certain serveurs ne sont pas compatibles avec le BETWEEN qu'il n'est pas implémenter dans (jDAO) jelix.
Dans un DAO, je voulais faire l'équivalent de :
SELECT pseudo FROM membres WHERE id_membre BETWEEN 40 AND 60
Si avec les conditions 'lt' et 'gt' dans un DAO je fais ceci :
SELECT pseudo FROM membres WHERE id_membre > 40 AND id_membre < 60
C'est bon (c'est dans un soucis d'optimisation) Merci.
[Opened] Re: jDAO et BETWEEN
Posted by laurentj on 04/11/2008 10:17
Salut,
Est ce parce que certain serveurs ne sont pas compatibles avec le BETWEEN
Pas sûr en effet que ce mot clé fasse parti de la norme SQL. À vérifier.
c'est dans un soucis d'optimisation
Ça c'est à vérifier, parce que si ça se trouve, l'interpreteur SQL traduit ça par un "id_membre > 40 AND id_membre < 60". Donc gain = aucun.
[Opened] Re: jDAO et BETWEEN
Posted by e-media on 04/16/2008 18:37
Dans ce cours sur SQL on peut lire : La clause WHERE permet de spécifier quelles sont les lignes à sélectionner dans une table ou dans le produit cartésien de plusieurs tables.
WHERE predicat un prédicat simple est construit à partir : des opérateurs d'égalité ou d'ordre, =, !=, <, >, <=, >=, BETWEEN, IN, LIKE, IS \[NOT] NULL et opérateurs logiques AND, OR
Les SGBDs qui respectent la norme SQL ANSI 92 possèdent l'opérateur BETWEEN voir sur ce site (puis rechercher between)
Sinon par expérience BETWEEN est supporté par ORACLE, MySql, MS-SQL...
Je suis assez d'accord avec Laurent pour dire que le moteur de base de données procède au remplacement du BETWEEN par l'association des opérateurs > et <. C'est juste une syntaxe pour faciliter, l'écriture des requêtes...
++
e-media
- 1