Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les colonnes stockées dans l’index de contenu peuvent avoir plusieurs valeurs, et ces colonnes à valeurs multiples peuvent être comparées à l’aide du prédicat de comparaison ARRAY.
Le prédicat de comparaison ARRAY a la syntaxe suivante :
...WHERE <column> <comp_op> [<quantifier>] <comparison_list>
...WHERE <column> <comp_op> <value>
Une erreur est retournée si la référence de colonne n’est pas une colonne à valeurs multiples. Le type de données de colonne doit être compatible avec les éléments de la liste de comparaison. Si nécessaire, la référence de colonne peut être caster comme un autre type de données.
L’opérateur de comparaison (comp_op) peut être l’un des opérateurs de comparaison normaux. Dans une comparaison à valeurs multiples, les opérateurs de comparaison ont des significations légèrement différentes selon qu’un quantificateur est utilisé. Les quantificateurs déterminent si une comparaison doit être effectuée par rapport à toutes ou certaines des valeurs de la liste de comparaison. Les fonctions des opérateurs de comparaison sont fournies dans les tables décrivant chaque quantificateur (ALL et SOME) plus loin dans ce document.
La valeur après l’opérateur spécifie une valeur littérale unique comparée à tous les éléments de la colonne à valeurs multiples. Si un élément correspond à la valeur, le prédicat est vrai.
La liste de comparaison spécifie un tableau de valeurs littérales comparées à la colonne à valeurs multiples. La syntaxe de la liste de comparaison suit :
ARRAY '['<literal> [,<literal>]']'
Important
Tenez compte de la syntaxe de la liste de comparaison. Le groupe de littéraux qui composent la liste de comparaison doit être entouré de crochets. N’entourez pas les éléments individuels de la liste de comparaison par crochets. Par conséquent, ARRAY [1] et ARRAY [1,2,3] sont valides, mais ARRAY [1[,2][,3]] n’est pas.
Méthode utilisée pour déterminer si la comparaison à valeurs multiples retourne true ou false est spécifiée par le quantificateur facultatif. Les sections suivantes décrivent chaque quantificateur et le fonctionnement de chaque opérateur de comparaison lorsque le quantificateur est utilisé.
Quantificateur absent
Si aucun quantificateur n’est spécifié, chaque élément situé à gauche de la comparaison est comparé à l’élément dans la même position sur le côté droit. La comparaison commence par le premier élément des tableaux et progresse jusqu’au dernier élément. Si tous les éléments du côté gauche sont équivalents aux éléments correspondants sur le côté droit, le nombre d’éléments de tableau est utilisé pour déterminer quel tableau est supérieur.
Le tableau suivant montre l’opération des opérateurs de comparaison lorsqu’aucun quantificateur n’est spécifié et fournit une brève description de chacun d’eux.
| Opérateur | Description |
|---|---|
| = | 'Equal to' retourne true lorsque chaque élément de gauche a la même valeur que l’élément de droite correspondant, et les deux tableaux ont le même nombre d’éléments. |
| != ou <> | 'Non égal à' retourne true lorsqu’un ou plusieurs éléments de gauche ont des valeurs qui diffèrent des éléments de droite correspondants, ou lorsque les tableaux de gauche et de droite n’ont pas le même nombre d’éléments. |
| > | 'Supérieur à' retourne true lorsque la valeur de chaque élément de gauche est supérieure à la valeur de l’élément de droite correspondant. Si toutes les valeurs d’élément de gauche correspondent exactement aux éléments de droite correspondants et que le tableau de gauche comporte plus d’éléments que le tableau de droite, « supérieur à » retourne true. |
| >= | 'Supérieur ou égal à' retourne true lorsque la valeur de chaque élément de gauche est supérieure ou égale à la valeur de l’élément de droite correspondant. Si toutes les valeurs d’élément de gauche sont égales ou supérieures aux éléments de droite correspondants et que le tableau de gauche a les mêmes éléments ou plus que le tableau de droite, « supérieur à » retourne true. |
| < | 'Inférieur à' retourne true lorsque la valeur de chaque élément de gauche est inférieure à la valeur de l’élément de droite correspondant. 'Inférieur à' retourne également true lorsque le côté gauche a moins d’éléments que le côté droit. |
| <= | 'Inférieur ou égal à' retourne true lorsque la valeur de chaque élément de gauche est inférieure ou égale à la valeur de l’élément de droite correspondant. Si toutes les valeurs d’élément de gauche sont égales ou inférieures aux éléments de droite correspondants et que le tableau de gauche possède les mêmes éléments que le tableau de droite, « supérieur à » retourne true. |
TOUT quantificateur
Le quantificateur ALL spécifie que chaque élément du côté gauche est comparé à chaque élément situé à droite. Pour retourner la valeur true, la comparaison doit être vraie pour chaque élément du côté gauche par rapport à chaque élément situé à droite. Le nombre d’éléments dans les côtés gauche et droit du tableau n’a aucun effet sur le résultat.
Le tableau suivant montre comment chaque opérateur de comparaison fonctionne avec le quantificateur ALL.
| Opérateur | Description |
|---|---|
| = | 'Equal to' retourne true lorsque chaque valeur d’élément de gauche est identique à chaque valeur d’élément de droite. |
| != ou <> | 'Non égal à' retourne true quand au moins une des valeurs d’élément de gauche est différente de l’une des valeurs d’élément de droite. |
| > | 'Supérieur à' retourne true lorsque chaque valeur d’élément de gauche est supérieure à chaque valeur d’élément de droite. |
| >= | 'Supérieur ou égal à' retourne true lorsque chaque valeur d’élément de gauche est supérieure ou égale à chaque valeur d’élément de droite. |
| < | 'Inférieur à' retourne true lorsque chaque valeur d’élément de gauche est inférieure à chaque valeur d’élément de droite. |
| <= | 'Inférieur ou égal à' retourne true lorsque chaque valeur d’élément de gauche est inférieure ou égale à chaque valeur d’élément de droite. |
Quantificateur SOME (ou n’importe quel)
Le quantificateur SOME et le quantificateur ANY peuvent être utilisés de façon interchangeable. Comme le quantificateur ALL, le quantificateur SOME spécifie que chaque élément du côté gauche est comparé à chaque élément situé à droite. Pour retourner la valeur true, la comparaison doit être vraie pour au moins l’un des éléments du côté gauche par rapport à n’importe quel élément situé à droite. Le nombre d’éléments sur les tableaux de gauche et de droite n’a aucun effet sur le résultat.
Le tableau suivant montre comment chaque opérateur de comparaison fonctionne avec le quantificateur SOME.
| Opérateur | Description |
|---|---|
| = | « Égal à » retourne true quand au moins une des valeurs d’élément de gauche est identique à l’une des valeurs d’élément de droite. |
| != ou <> | 'Non égal à' retourne true lorsqu’aucune des valeurs d’élément de gauche n’est identique à l’une des valeurs d’élément de droite. |
| > | 'Supérieur à' retourne true quand au moins une des valeurs d’élément de gauche est supérieure à l’une des valeurs d’élément de droite. |
| >= | 'Supérieur ou égal à' retourne true quand au moins une des valeurs d’élément de gauche est supérieure ou égale à une des valeurs d’élément de droite. |
| < | 'Inférieur à' retourne true quand au moins une des valeurs d’élément de gauche est inférieure à l’une des valeurs d’élément de droite. |
| <= | 'Inférieur ou égal à' retourne true quand au moins une des valeurs d’élément de gauche est inférieure ou égale à une des valeurs d’élément de droite. |
Exemples
L’exemple suivant vérifie si les documents se trouvent dans les catégories « Finance » ou « Planification » :
SELECT System.ItemUrl FROM SystemIndex WHERE System.Category =
SOME ARRAY['Finance','Planning']
Les comparaisons suivantes évaluent toutes la valeur true. N’oubliez pas que dans l’utilisation réelle, la syntaxe de la requête de recherche nécessite que le côté gauche soit une propriété, et non une valeur littérale.
ARRAY [1,2] > ARRAY [1,1]
ARRAY [1,2] > ARRAY [1,1,2]
ARRAY [1,2] < ARRAY [1,2,3]
ARRAY [1,2] = SOME ARRAY [1,12,27,35,2]
ARRAY [1,1] != ALL ARRAY [1,2]
ARRAY [1,20,21,22] < SOME ARRAY [0,40]
ARRAY [1,20,21,22] < ANY ARRAY [0,40]
Rubriques connexes
-
de référence
-
conceptuelle