|
|
|
|
PRATIQUE OUTILS |
|
|
|
Les opérateurs de comparaison de MySQL |
|
Liste des opérateurs courants et moins courants de la base de données Open Source.
(19/04/2005) |
|
|
Forum |
|
Réagissez
dans les forums
de JDN Développeurs
|
MySQL offre des possibilités trop souvent inexploitées pour
réaliser des requêtes précises (ou au contraire élargies), surtout
par manque de connaissances des capacités du SGBD. La variété
d'opérateurs de comparaison en est un exemple probant.
Les opérateurs de comparaison permettent de confronter deux
valeurs, et renvoient un résultat selon que celles-ci sont identiques
(true) ou pas (false). MySQL propose quelques options en plus
des opérateurs habituels.
Les
opérateurs de comparaison de MySQL
|
Opérateur(s)
|
Renvoi
"true" si...
|
<>
ou !=
|
...les
deux valeurs ne sont pas égales
|
<
|
...la
valeur de gauche est strictement inférieure à celle
de droite
|
>
|
...la
valeur de gauche est strictement supérieure à celle
de droite
|
<=
|
...la
valeur de gauche est strictement inférieure ou égale
à celle de droite
|
>=
|
...la
valeur de gauche est strictement supérieure ou égale
à celle de droite
|
BETWEEN..AND
|
...la
valeur testée est située entre deux valeurs données
|
IN
|
...la
valeur testée se situe dans une liste valeurs données
|
NOT
IN
|
...la
valeur testée ne se situe pas dans une liste de valeurs
données
|
LIKE
|
...la
valeur de gauche correspond à celle de droite (celle
de droite peux utiliser le caractère % pour simuler
n'importe quel nombre de caractère, et _ pour un seul
caractère
|
NOT
LIKE
|
...les
deux valeurs ne correspondent pas
|
REGEXP
ou RLIKE
|
...la
valeur de gauche correspond à l'expression régulière
donnée
|
NOT
REGEXP
|
...la
valeur de gauche ne correspond pas à l'expression régulière
donnée
|
Ceux ci,
comme != ou <=,
restent les plus utilisés, car ils existent déjà dans les langages
de programmation courants. LIKE,
de son côté, est également souvent utilisé, grâce à son modifier
"%" qui permet des recherches
moins strictes.
En revanche, nombre de requêtes du type "x <
valeur et valeur < y" pourraient bénéficier d'une simplification
avec BETWEEN x AND y. De même,
IN et NOT
IN permettant de s'affranchir de requêtes trop larges,
et de les limiter à quelques valeurs seulement.
Enfin, l'utilisation
des expressions régulières, bien que potentiellement lourdes
en ressource et souvent mal utilisées, peuvent se révéler le
Saint Graal pour les développeurs chevronnés, habitués de la
syntaxe Perl...
|
|
|
|
|
|