Un terme, entendez par là le contenu d'une cellule, permet d'indiquer la ou les valeurs recherchées pour une colonne.
Un terme commencera, la plupart du temps, par un comparateur '
=','
>','
<','
>=','
<=' ou '
<>' ou par une négation '
!', généralement suivi d'une valeur.
Exemples :
Le terme
=1 (le signe '=' est optionnel, le terme 1 est équivalent à =1) sera interprété en
(A.nomcolonne = 1).
<>1 peut s'écrire
!1. Ces deux termes seront interprétés de la même manière par
(NOT A.nomcolonne = 1).
Il est possible de combiner plusieurs termes pour une même colonne par les opérateurs ('
&' pour AND et '
|' pour OR).
Exemples :
Le terme
1&>4 sera interprété en
(A.nomcolonne = 1 AND A.nomcolonne > 4).
Le terme
1|4 sera interprété en
(A.nomcolonne = 1 OR A.nomcolonne = 4).
Cas particuliers :
NULL
Les champs annulables (pouvant avoir une absence de valeur) : pour obtenir une comparaison sur une valeur indéterminée(NULL).
Le terme ne contiendra que l'opérande '
=','
!=' ou '
<>' permettant ainsi d'obtenir IS NULL dans le premier cas ou IS NOT NULL pour les deux autres
Intervalle de valeurs
Il est possible d'utiliser l'opérateur '~' pour obtenir un intervale de valeurs
Exemple :
Le terme
1~5 sera interprété en
(A.nomcolonne BETWEEN 1 AND 6).
Recherche partielle
Une recherche partielle utilisera les caractères de substitution '
_' ou '
%' pour remplacer, respectivement, un ou plusieurs caractères.
Cette recherche ne sera pas sensible à la casse.
Exemples :
Le terme
%o% recherchera toutes les valeurs (chaine de caractères) contenant '
o', interpété par
({fn UCASE(A.nomcolonne)} LIKE '%O%').
Le terme
Co% recherchera toutes les valeurs (chaine de caractères) commençant par '
Co', interpété par
({fn UCASE(A.nomcolonne)} LIKE 'CO%').
Le terme
o% recherchera toutes les valeurs (chaine de caractères) dont la seconde lettre est '
o', interpété par
({fn UCASE(A.nomcolonne)} LIKE '_O%').
Quid de cette expression
{fn UCASE(A.nomcolonne)} ? Ici, vous voyez en œuvre une des fonctionnalités de Firedac, le prétraitement de commandes.
Plus d'informations sur le prétraitement de Firedac
ici
Tri
Un tri peut être indiqué pour une colonne, soit seul, soit à la fin d'un terme ou d'une combinaison de terme.
Un tri s'exprime en ajoutant un '#' suivi du type '+' (optionnel) pour ASCendant ou '-' DESCendant et obligatoirement d'un numéro d'ordre.
Exemples :
Le terme
#1 sera interprété par la clause
ORDER BY A.nomcolonne.
Le terme
#-1 sera interprété par la clause
ORDER BY A.nomcolonne DESC.
Dans ce tableau
[#-2][#1] sera interprété par la clause
ORDER BY A.Colonne2,A.Colonne1 DESC.
Vous comprendrez donc qu'il est important de bien indiquer un numéro d'ordre unique pour chaque colonne.
Partager