Un cas particulier des critères optionnels est que l’on peut utiliser des opérateurs sous certaines conditions. Il faut que la valeur testée dans l’environnement porte le même nom que le critère tel que le critère X
dans : {X ?operateur #ENV{X}}
. Tous les opérateurs peuvent s’appliquer, il suffit d’accoler le ?
à l’opérateur voulu.
Le test est ainsi effectué uniquement si la valeur désignée est présente dans l’environnement, sinon le critère est ignoré.
<BOUCLEx(TABLES){nom ?operateur #ENV{nom}}>
<BOUCLEx(TABLES){nom ?== ^#ENV{nom}$}>
<BOUCLEx(TABLES){nom ?!IN #ENV{nom}}>
<BOUCLEx(TABLES){nom ?LIKE %#ENV{nom}%}>...