Comparaisons à valeurs multiples (ARRAY) dans la syntaxe SQL de recherche SharePoint
Dernière modification : mercredi 21 avril 2010
S’applique à : SharePoint Server 2010
Dans cet article
Aucun quantificateur spécifié
Quantificateur ALL
Quantificateur SOME (ou ANY)
Exemples
Compare des colonnes ayant des valeurs multiples (colonnes à valeurs multiples) stockées dans le contenu.
…WHERE <column> <comp_op> [<quantifier>] <comparison_list>
Remarques
La Recherche SharePoint Server renvoie une erreur 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, vous pouvez caster la référence de colonne en un autre type de données.
Vous pouvez utiliser tous les opérateurs de comparaison usuels dans la clause WHERE. Dans une comparaison à valeurs multiples, les opérateurs de comparaison ont une signification légèrement différente, selon que vous utilisez ou non un quantificateur, et selon la nature de ce dernier. Par conséquent, nous décrivons les fonctions des opérateurs de comparaison dans les tableaux de quantificateurs spécifiques ci-après.
La liste de comparaison spécifie un tableau de valeurs literal qui sont comparées à la colonne à valeurs multiples. La syntaxe pour la liste de comparaison est la suivante :
ARRAY [<literal>,<literal>]
Notes
Prêtez une attention particulière à la syntaxe de la liste de comparaison. Vous devez placer le groupe de valeurs literals qui constituent la liste de comparaison entre crochets. Ne placez pas d'éléments individuels de la liste de comparaison entre crochets. Par exemple, la syntaxe ARRAY [1,2,3] est correcte, contrairement à ARRAY [1[,2][,3]].
La méthode utilisée pour déterminer si la comparaison à valeurs multiples renvoie TRUE ou FALSE est spécifiée par le quantificateur facultatif. Les sections suivantes décrivent chaque quantificateur, ainsi que le mode de fonctionnement de chaque opérateur de comparaison lors de l'utilisation du quantificateur approprié.
Aucun quantificateur spécifié
Si vous ne spécifiez pas de quantificateur, chaque élément situé du côté gauche de la comparaison est comparé à l'élément situé à la même position du côté droit. La comparaison commence par le premier élément des tableaux et se poursuit jusqu'au dernier élément. Si tous les éléments du côté gauche sont équivalents aux éléments correspondants du côté droit, le nombre d'éléments de tableaux est utilisé pour déterminer quel est le tableau le plus grand.
Le tableau suivant montre le fonctionnement des opérateurs de comparaison lorsqu'il n'y a pas de qualificateur spécifié ; par ailleurs, il fournit une brève description de chacun d'eux.
Opérateur |
Description |
---|---|
= |
« Égal à » renvoie TRUE lorsque chaque élément de gauche a la même valeur que l'élément de droite correspondant, et que les deux tableaux ont le même nombre d'éléments. |
!= ou <> |
« Différent de » renvoie 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 à » renvoie 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 des éléments de gauche sont strictement égales à celles des éléments de droite correspondants, et si le tableau de droite a des éléments qui n'ont pas de correspondance avec les éléments de gauche, « supérieur à » renvoie TRUE. |
>= |
« Supérieur ou égal à » renvoie TRUE lorsque la valeur de chaque élément de gauche est supérieure ou égale à la valeur de l'élément de droite correspondant. |
< |
« Inférieur à » renvoie TRUE lorsque la valeur de chaque élément de gauche est inférieure à la valeur de l'élément de droite correspondant. « Inférieur à » renvoie également TRUE lorsque le côté gauche a moins d'éléments que le côté droit. |
<= |
« Inférieur ou égal à » renvoie TRUE lorsque la valeur de chaque élément de gauche est inférieure ou égale à la valeur de l'élément de droite correspondant. |
Quantificateur ALL
Le quantificateur ALL spécifie que chaque élément de gauche doit être comparé à chaque élément de droite. Pour renvoyer TRUE, la comparaison doit être vraie pour tous les éléments du côté gauche lorsqu'ils sont comparés à chaque élément du côté droit. Le nombre d'éléments dans les tableaux de gauche et de droite n'a pas d'effet sur le résultat.
Le tableau suivant montre comment fonctionne chaque opérateur de comparaison avec le quantificateur ALL.
Opérateur |
Description |
---|---|
= |
« Égal à » renvoie TRUE lorsque la valeur de chaque élément de gauche est identique à la valeur de chaque élément de droite. |
!= ou <> |
« Différent de » renvoie TRUE lorsqu'une ou plusieurs des valeurs des éléments de gauche diffèrent de l'une des valeurs des éléments de droite. |
> |
« Supérieur à » renvoie TRUE lorsque la valeur de chaque élément de gauche est supérieure à la valeur de chaque élément de droite. |
>= |
« Supérieur ou égal à » renvoie TRUE lorsque la valeur de chaque élément de gauche est supérieure ou égale à la valeur de chaque élément de droite. |
< |
« Inférieur à » renvoie TRUE lorsque la valeur de chaque élément de gauche est inférieure à la valeur de chaque élément de droite. |
Quantificateur SOME (ou ANY)
Vous pouvez utiliser les quantificateurs SOME et ANY de manière interchangeable. Le quantificateur SOME spécifie que chaque élément de gauche doit être comparé à chaque élément de droite. Pour renvoyer TRUE, la comparaison doit être vraie pour au moins un élément du côté gauche lorsqu'il est comparé à chaque élément du côté droit. Le nombre d'éléments dans les tableaux de gauche et de droite n'a pas d'effet sur le résultat.
Le tableau suivant montre comment fonctionne chaque opérateur de comparaison avec le quantificateur SOME.
Opérateur |
Description |
---|---|
= |
« Égal à » renvoie TRUE lorsqu'au moins une des valeurs des éléments de gauche est identique à l'une des valeurs des éléments de droite. |
!= ou <> |
« Différent de » renvoie TRUE lorsqu'aucune des valeurs des éléments de gauche est identique à l'une des valeurs des éléments de droite. |
> |
« Supérieur à » renvoie TRUE lorsqu'au moins une des valeurs des éléments de gauche est supérieure à l'une des valeurs des éléments de droite. |
>= |
« Supérieur ou égal à » renvoie TRUE lorsqu'au moins une des valeurs des éléments de gauche est supérieure ou égale à l'une des valeurs des éléments de droite. |
< |
« Inférieur à » renvoie TRUE lorsqu'au moins une des valeurs des éléments de gauche est inférieure à l'une des valeurs des éléments de droite. |
Exemples
Toutes les comparaisons suivantes renvoient TRUE. Lors de l'utilisation de la syntaxe de requête de recherche, veillez à utiliser une propriété dans la partie de gauche, et non une valeur literal.
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]
Voir aussi
Référence
Prédicats qui ne sont pas en texte intégral dans la syntaxe SQL de la recherche SharePoint
Comparaison de valeurs littérales dans la syntaxe SQL de recherche SharePoint