Construcción de cadenas de filtro para el Diseñador de tablas

Nota:

Este artículo se aplica a Azure Cloud Services (clásico), que ahora está en desuso para los nuevos clientes y se retirará el 31 de agosto de 2024. Los servicios existentes creados con esta tecnología siguen teniendo soporte técnico a través de Azure Cloud Services (soporte extendido). Para los desarrollos nuevos, le recomendamos que use un tipo de servicio más reciente diseñado para su propósito específico, como por ejemplo, Azure App Service, Azure Functions o Azure Container Apps. Para obtener la lista más reciente de los servicios disponibles, consulte Directorio de productos de Azure.

Para filtrar los datos de una tabla de Azure que se muestra en el Diseñador de tablasde Visual Studio, es preciso construir una cadena de filtro y especificar en el campo de filtro. La sintaxis de la cadena de filtro la define servicios de datos de WCF y es similar a una cláusula WHERE de SQL, pero se envía a Table service a través de una solicitud HTTP. El Diseñador de tablas administra la codificación adecuada para el usuario, por lo que para filtrar por un valor de propiedad deseado, solo necesita escribir el nombre de la propiedad, el operador de comparación, los valores de los criterios y opcionalmente, el operador booleano en el campo de filtro. No es necesario incluir la opción de consulta $filter como lo haría si estuviera construyendo una URL para consultar la tabla a través de la Referencia de API REST de servicios de almacenamiento.

Los Servicios de Datos WCF se basan en el Protocolo de Datos Abiertos (OData). Para obtener más información sobre la opción de consulta del sistema de filtro ($filter), consulte las especificaciones de las convenciones del URI de OData.

Operadores de comparación

Los siguientes operadores lógicos se admiten para todos los tipos de propiedades:

Operador lógico Descripción Ejemplo de cadena de filtro
eq Igual Ciudad eq "Redmond"
gt Mayor que Precio gt 20
ge Mayor o igual que Precio ge 10
lt Menor que Precio lt 20
le Menor o igual que Precio le 100
ne No igual a Ciudad ne 'Londres'
y Y Precio le 200 and Precio gt 3,5
o Or Precio 3,5 or Precio gt 200
not Not not isAvailable

Al construir una cadena de filtro, las siguientes reglas son importantes:

  • Use los operadores lógicos para comparar una propiedad con un valor. No es posible comparar una propiedad con un valor dinámico; uno de los lados de la expresión debe ser una constante.
  • Todas las partes de la cadena de filtro distinguen mayúsculas de minúsculas.
  • Para que el filtro devuelva resultados válidos, el valor constante debe ser del mismo tipo de datos que la propiedad. Para obtener más información sobre los tipos de propiedades que se admiten, consulte Introducción al modelo de datos del servicio Tabla.

Filtro por propiedades de cadena

Al filtrar por propiedades de cadena, la constante de la cadena se escribe entre comillas simples.

En el ejemplo siguiente se filtra por las propiedades PartitionKey y RowKey; también se pueden agregar a la cadena de filtro otras propiedades que no sean de clave:

PartitionKey eq 'Partition1' and RowKey eq '00001'

Puede encerrar cada expresión de filtro entre paréntesis, aunque no es obligatorio:

(PartitionKey eq 'Partition1') and (RowKey eq '00001')

El servicio Tabla no admite consultas con caracteres comodín y tampoco se admiten en el Diseñador de tablas. Sin embargo, puede realizar que los prefijos coincidan mediante el uso de operadores de comparación en el prefijo deseado. El ejemplo siguiente devuelve las entidades cuya propiedad LastName empieza por la letra "A":

LastName ge 'A' and LastName lt 'B'

Filtro por propiedades numéricas

Para filtrar por un entero o un número de punto flotante, especifique el número sin comillas.

Este ejemplo devuelve todas las entidades con una propiedad Age cuyo valor es mayor que 30:

Age gt 30

Este ejemplo devuelve todas las entidades con una propiedad AmountDue cuyo valor es menor o igual que 100,25:

AmountDue le 100.25

Filtro por propiedades booleanas

Para filtrar po un valo booleano, especifique true o false sin comillas.

El ejemplo siguiente devuelve todas las entidades en las que la propiedad IsActive está establecida en true:

IsActive eq true

Esta expresión de filtro también se puede escribir sin el operador lógico. En el siguiente ejemplo, el servicio Tabla también devuelve todas las entidades en las que IsActive es true:

IsActive

Para devolver todas las entidades en las que IsActive es false, puede utilizar el operador not:

not IsActive

Filtro por propiedades de fecha y hora

Para filtrar por un valor de fecha y hora, especifique la palabra clave datetime , seguida de la constante de fecha y hora, entre comillas simples. La constante de fecha y hora debe estar en formato UTC combinado, como se describe en Formato de los valores de la propiedad DateTime.

El siguiente ejemplo devuelve las entidades en las que la propiedad CustomerSince es igual a 10 de julio de 2008:

CustomerSince eq datetime'2008-07-10T00:00:00Z'