Compartir a través de


Comparaciones con varios valores (ARRAY) en la sintaxis SQL de búsqueda de Windows SharePoint Services

Compara columnas que tienen varios valores (columnas con varios valores) almacenados en el contenido.

…WHERE <column> <comp_op> [<quantifier>] <comparison_list>

Comentarios

Buscar devuelve un error si la referencia de columna no es una columna con varios valores. El tipo de datos de la columna debe ser compatible con los elementos de la lista de comparación. Si es necesario, puede convertir la referencia de columna a otro tipo de datos.

Se puede usar cualquiera de los operadores de comparación habituales de la cláusula WHERE. En una comparación de varios valores, los operadores de comparación tienen un significado ligeramente distinto, que dependerá de si se usa un cuantificador y del cuantificador usado. Por este motivo, se describen las funciones de los operadores de comparación en las siguientes tablas de cuantificadores específicos.

En la lista de comparación se especifica una matriz de valores literal que se comparan con la columna con varios valores. A continuación, se muestra la sintaxis para la lista de comparación:

ARRAY [<literal>,<literal>]

Nota  Tenga en cuenta la sintaxis de la lista de comparación. Debe incluir entre corchetes el grupo de literals que forman parte de la lista de comparación. No incluya entre corchetes elementos individuales de la lista de comparación. Por ejemplo, ARRAY [1,2,3] es la sintaxis correcta, pero ARRAY [1[,2][,3]] no lo es.

El método que se usa para determinar si la comparación de múltiples valores devuelve TRUE o FALSE se especifica mediante el cuantificador opcional. En las siguientes secciones se describe cada uno de los cuantificadores y cómo funciona el operador de comparación con el uso de cada cuantificador.

Ningún cuantificador especificado

Si no se especifica ningún cuantificador, los elementos del lado izquierdo (I) de la comparación se comparan con el elemento situado en la misma posición del lado derecho (D). La comparación comienza con el primer elemento de las matrices y continúa hasta el último elemento. Si todos los elementos del lado I son equivalentes a los elementos correspondientes del lado D, se usa el número de elementos de matriz para determinar cuál de las matrices es mayor.

En la siguiente tabla se muestra el funcionamiento de los operadores de comparación cuando no se especifica ningún cuantificador y se proporciona una breve descripción de cada uno.

Operador Descripción

=

"Igual a" devuelve TRUE cuando cada elemento de I tiene el mismo valor que el elemento correspondiente de D y ambas matrices tienen el mismo número de elementos.

!= o <>

"No igual a" devuelve TRUE cuando uno o varios elementos de I tienen valores distintos a los elementos correspondientes de D o cuando las matrices de I y D no tienen el mismo número de elementos.

>

"Mayor que" devuelve TRUE cuando el valor de cada elemento de I es mayor que el valor del elemento correspondiente de D. Si todos los valores de los elementos de I coinciden exactamente con los elementos correspondientes de D y la matriz D tiene elementos sin elementos de I correspondientes, "mayor que" devuelve TRUE.

>=

"Mayor o igual que" devuelve TRUE cuando el valor de cada elemento de I es mayor o igual que el valor del elemento correspondiente de D.

<

"Menor que" devuelve TRUE cuando el valor de cada elemento de I es menor que el valor del elemento correspondiente de D. "Menor que" también devuelve TRUE si el lado I tiene menos elementos que el lado D.

<=

"Menor o igual que" devuelve TRUE cuando el valor de cada elemento de I es menor o igual que el valor del elemento correspondiente de D.

Cuantificador All

El cuantificador ALL especifica que cada elemento del lado izquierdo (I) se compara con todos los elementos del lado derecho (D). Para devolver TRUE, la comparación debe ser verdadera para todos los elementos del lado I cuando se comparan con todos los elementos del lado D. El número de elementos de las matrices de los lados I y D no afecta al resultado.

En la tabla siguiente se muestra cómo funciona cada uno de los operadores de comparación con el cuantificador ALL.

Operador Descripción

=

"Igual a" devuelve TRUE cuando cada uno de los valores de los elementos de I son los mismos que todos los valores de los elementos de D.

!= o <>

"No igual a" devuelve TRUE cuando uno o varios valores de los elementos de I son distintos de cualquiera de los valores de los elementos de D.

>

"Mayor que" devuelve TRUE cuando todos los valores de los elementos de I son mayores que todos los valores de los elementos de D.

>=

"Mayor o igual que" devuelve TRUE cuando todos los valores de los elementos de I son mayores o iguales que todos los valores de los elementos de D.

<

"Menor que" devuelve TRUE cuando todos los valores de los elementos de I son menores que todos los valores de los elementos de D.

Cuantificador SOME (o ANY)

Los cuantificadores SOME y ANY se pueden usar de forma indistinta. El cuantificador SOME especifica que cada elemento del lado izquierdo (I) se compara con todos los elementos del lado derecho (D). Para devolver TRUE, la comparación debe ser verdadera para al menos uno de los elementos del lado I cuando se compara con todos los elementos del lado D. El número de elementos de las matrices de los lados I y D no afecta al resultado.

En la siguiente tabla se muestra cómo funciona cada operador de comparación con el cuantificador SOME.

Operador Descripción

=

"Igual a" devuelve TRUE cuando al menos uno de los valores de los elementos de I es igual a cualquiera de los valores de los elementos de D.

!= o <>

"No igual a" devuelve TRUE cuando ninguno de los valores de los elementos de I es igual a cualquiera de los valores de los elementos de D.

>

"Mayor que" devuelve TRUE cuando al menos uno de los valores de los elementos de I es mayor que todos los valores de los elementos de D.

>=

"Mayor o igual que" devuelve TRUE cuando al menos uno de los valores de los elementos de I es mayor o igual que todos los valores de los elementos de D.

<

"Menor que" devuelve TRUE cuando al menos uno de los valores de los elementos de I es menor que todos los valores de los elementos de D.

Ejemplos

Todas las comparaciones siguientes evalúan TRUE. Recuerde que en el uso real, la sintaxis de la consulta de búsqueda requiere que el lado izquierdo sea una propiedad y no un valor 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]

Vea también

Otros recursos

Predicados de texto no completo en la sintaxis SQL de Windows SharePoint Services Search