Creazione di stringhe di filtro per Progettazione tabelleConstructing Filter Strings for the Table Designer

PanoramicaOverview

Per filtrare i dati in una tabella di Azure visualizzata in Progettazione tabelledi Visual Studio, creare una stringa di filtro e immetterla nel campo del filtro.To filter data in an Azure table that is displayed in the Visual Studio Table Designer, you construct a filter string and enter it into the filter field. La sintassi della stringa di filtro è definita da WCF Data Services ed è simile a una clausola WHERE SQL, ma viene inviata al servizio tabelle con una richiesta HTTP.The filter string syntax is defined by the WCF Data Services and is similar to a SQL WHERE clause, but is sent to the Table service via an HTTP request. Progettazione tabelle gestisce automaticamente la codifica appropriata, quindi per filtrare in base a un valore di proprietà desiderato, è necessario immettere solo il nome della proprietà, l'operatore di confronto, il valore dei criteri e, facoltativamente, l'operatore booleano nel campo del filtro.The Table Designer handles the proper encoding for you, so to filter on a desired property value, you need only enter the property name, comparison operator, criteria value, and optionally, Boolean operator in the filter field. Non è necessario includere l'opzione di query $filter come quando si crea un URL per eseguire la query della tabella in base alle Informazioni di riferimento sulle API REST dei servizi di archiviazione.You do not need to include the $filter query option as you would if you were constructing a URL to query the table via the Storage Services REST API Reference.

WCF Data Services si basa su Open Data Protocol (OData).The WCF Data Services are based on the Open Data Protocol (OData). Per i dettagli sull'opzione di query del sistema di filtro ($filter), vedere la specifica sulle convenzioni URI OData.For details on the filter system query option ($filter), see the OData URI Conventions specification.

Operatori di confrontoComparison Operators

Gli operatori logici seguenti sono supportati per tutti i tipi di proprietà:The following logical operators are supported for all property types:

Operatore logicoLogical operator DescrizioneDescription Stringa di filtro di esempioExample filter string
eqeq UgualeEqual Città eq "Redmond"City eq 'Redmond'
gtgt Maggiore diGreater than Prezzo gt 20Price gt 20
gege Maggiore o uguale aGreater than or equal to Prezzo ge 10Price ge 10
ltlt Minore diLess than Prezzo lt 20Price lt 20
lele Minore o ugualeLess than or equal Prezzo le 100Price le 100
nene DiversoNot equal Città ne "Londra"City ne 'London'
eand eAnd Prezzo le 200 and Prezzo gt 3,5Price le 200 and Price gt 3.5
oppureor oppureOr Prezzo le 3,5 or Prezzo gt 200Price le 3.5 or Price gt 200
notnot notNot not isAvailablenot isAvailable

Quando si crea una stringa di filtro, tenere presente le regole seguenti:When constructing a filter string, the following rules are important:

  • Usare gli operatori logici per confrontare una proprietà con un valore.Use the logical operators to compare a property to a value. Si noti che non è possibile confrontare una proprietà con un valore dinamico. Un elemento dell'espressione deve essere una costante.Note that it is not possible to compare a property to a dynamic value; one side of the expression must be a constant.
  • Viene effettuata la distinzione tra maiuscole e minuscole per tutte le parti della stringa di filtro.All parts of the filter string are case-sensitive.
  • Il valore costante deve essere dello stesso tipo di dati della proprietà affinché il filtro restituisca risultati validi.The constant value must be of the same data type as the property in order for the filter to return valid results. Per altre informazioni sui tipi di proprietà supportati, vedere Informazioni sul modello di dati del servizio tabelle.For more information about supported property types, see Understanding the Table Service Data Model.

Applicazione di filtri alle proprietà della stringaFiltering on String Properties

Quando si applicano filtri alle proprietà della stringa, includere la costante di stringa tra virgolette singole.When you filter on string properties, enclose the string constant in single quotation marks.

L'esempio seguente applica filtri alle proprietà PartitionKey e RowKey. Alla stringa di filtro possono essere aggiunte anche altre proprietà non chiave:The following example filters on the PartitionKey and RowKey properties; additional non-key properties could also be added to the filter string:

PartitionKey eq 'Partition1' and RowKey eq '00001'

Anche se non è necessario, è possibile racchiudere ogni espressione di filtro tra parentesi:You can enclose each filter expression in parentheses, although it is not required:

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

Si noti che le query con caratteri jolly non sono supportate né nel servizio tabelle né in Progettazione tabelle.Note that the Table service does not support wildcard queries, and they are not supported in the Table Designer either. Tuttavia, è possibile eseguire la corrispondenza di prefissi usando gli operatori di confronto sul prefisso desiderato.However, you can perform prefix matching by using comparison operators on the desired prefix. L'esempio seguente restituisce le entità con una proprietà LastName che inizia con la lettera "A":The following example returns entities with a LastName property beginning with the letter 'A':

LastName ge 'A' and LastName lt 'B'

Applicazione di filtri alle proprietà numericheFiltering on Numeric Properties

Per applicare filtri a un numero intero o a virgola mobile, specificare il numero senza virgolette.To filter on an integer or floating-point number, specify the number without quotation marks.

Questo esempio restituisce tutte le entità con una proprietà Age il cui valore è maggiore di 30:This example returns all entities with an Age property whose value is greater than 30:

Age gt 30

Questo esempio restituisce tutte le entità con una proprietà AmountDue il cui valore è minore o uguale a 100,25:This example returns all entities with an AmountDue property whose value is less than or equal to 100.25:

AmountDue le 100.25

Applicazione di filtri alle proprietà booleaneFiltering on Boolean Properties

Per applicare filtri a un valoppuree booleano, specificare true oppure false senza virgolette.To filter on a Boolean value, specify true or false without quotation marks.

L'esempio seguente restituisce tutte le entità in cui la proprietà IsActive è impostata su true:The following example returns all entities where the IsActive property is set to true:

IsActive eq true

Questa espressione di filtro può essere scritta anche senza operatore logico.You can also write this filter expression without the logical operator. Nell'esempio seguente il servizio tabelle restituirà anche tutte le entità in cui IsActive è true:In the following example, the Table service will also return all entities where IsActive is true:

IsActive

Per restituire tutte le entità in cui IsActive è false, è possibile usare l'operatore not:To return all entities where IsActive is false, you can use the not operator:

not IsActive

Applicazione di filtri alle proprietà DateTimeFiltering on DateTime Properties

Per applicare filtri a un valore DateTime, specificare la parola chiave datetime , seguita dalla costante data/ora tra virgolette singole.To filter on a DateTime value, specify the datetime keyword, followed by the date/time constant in single quotation marks. La costante data/ora tra virgolette singole deve essere nel formato UTC combinato, come descritto in Formattazione di valori della proprietà DateTime.The date/time constant must be in combined UTC format, as described in Formatting DateTime Property Values.

L'esempio seguente restituisce le entità in cui la proprietà CustomerSince è uguale a 10 luglio 2008:The following example returns entities where the CustomerSince property is equal to July 10, 2008:

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