Creazione di stringhe di filtro per Progettazione tabelle

Nota

Questo articolo si applica ad Azure Servizi cloud (versione classica), ora deprecata per i nuovi clienti e verrà ritirata il 31 agosto 2024. I servizi esistenti creati con questa tecnologia sono ancora supportati tramite Azure Servizi cloud (supporto esteso). Per un nuovo sviluppo, è consigliabile usare un tipo di servizio più recente progettato per scopi specifici, ad esempio servizio app Azure, Funzioni di Azure o app contenitore di Azure. Per l'elenco più recente dei servizi disponibili, vedere Directory dei prodotti Azure.

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. La sintassi della stringa di filtro è definita da WCF Data Services ed è simile a una clausola SQL WHERE , ma viene inviata al servizio tabelle tramite una richiesta HTTP. 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. Non è necessario includere l'opzione $filter di query come si farebbe se si creasse un URL per eseguire query sulla tabella tramite le informazioni di riferimento sull'API REST di Archiviazione Services.

WCF Data Services è basato su Open Data Protocol (OData). Per i dettagli sull'opzione di query del sistema di filtro ($filter), vedere la specifica sulle convenzioni URI OData.

Operatori di confronto

Gli operatori logici seguenti sono supportati per tutti i tipi di proprietà:

Operatore logico Descrizione Stringa di filtro di esempio
eq Uguale Città eq "Redmond"
gt Maggiore di Prezzo gt 20
ge Maggiore di o uguale a Prezzo ge 10
lt Minore di Prezzo lt 20
le Minore di o uguale a Prezzo le 100
ne Non uguale a Città ne "Londra"
e And Prezzo le 200 and Prezzo gt 3,5
or O Prezzo le 3,5 or Prezzo gt 200
not Not not isAvailable

Quando si crea una stringa di filtro, tenere presente le regole seguenti:

  • Usare gli operatori logici per confrontare una proprietà con un valore. Non è possibile confrontare una proprietà con un valore dinamico; un lato dell'espressione deve essere una costante.
  • Viene effettuata la distinzione tra maiuscole e minuscole per tutte le parti della stringa di filtro.
  • Il valore costante deve essere dello stesso tipo di dati della proprietà affinché il filtro restituisca risultati validi. Per altre informazioni sui tipi di proprietà supportati, vedere Informazioni sul modello di dati del servizio tabelle.

Applicazione di filtri alle proprietà della stringa

Quando si applicano filtri alle proprietà della stringa, includere la costante di stringa tra virgolette singole.

L'esempio seguente applica filtri alle proprietà PartitionKey e RowKey. Alla stringa di filtro possono essere aggiunte anche altre proprietà non chiave:

PartitionKey eq 'Partition1' and RowKey eq '00001'

È possibile racchiudere ogni espressione di filtro tra parentesi, anche se non è obbligatoria:

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

Il servizio tabelle non supporta le query con caratteri jolly e non sono supportate in Progettazione tabelle. Tuttavia, è possibile eseguire la corrispondenza di prefissi usando gli operatori di confronto sul prefisso desiderato. L'esempio seguente restituisce le entità con una proprietà LastName che inizia con la lettera "A":

LastName ge 'A' and LastName lt 'B'

Applicazione di filtri alle proprietà numeriche

Per applicare filtri a un numero intero o a virgola mobile, specificare il numero senza virgolette.

Questo esempio restituisce tutte le entità con una proprietà Age il cui valore è maggiore di 30:

Age gt 30

Questo esempio restituisce tutte le entità con una proprietà AmountDue il cui valore è minore o uguale a 100,25:

AmountDue le 100.25

Applicazione di filtri alle proprietà booleane

Per applicare filtri a un valoppuree booleano, specificare true oppure false senza virgolette.

L'esempio seguente restituisce tutte le entità in cui la proprietà IsActive è impostata su true:

IsActive eq true

Questa espressione di filtro può essere scritta anche senza operatore logico. Nell'esempio seguente il servizio tabelle restituisce anche tutte le entità in cui IsActive è true:

IsActive

Per restituire tutte le entità in cui IsActive è false, è possibile usare l'operatore not :

not IsActive

Applicazione di filtri alle proprietà DateTime

Per applicare filtri a un valore DateTime, specificare la parola chiave datetime , seguita dalla costante data/ora tra virgolette singole. La costante data/ora tra virgolette singole deve essere nel formato UTC combinato, come descritto in Formattazione di valori della proprietà DateTime.

L'esempio seguente restituisce le entità in cui la proprietà CustomerSince è uguale a 10 luglio 2008:

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