Erstellen von Filterzeichenfolgen für den Tabellen-Designer

Hinweis

Dieser Artikel bezieht sich auf Azure Cloud Services (klassisch), das für neue Kunden nun veraltet ist und am 31. August 2024 eingestellt wird. Vorhandene Dienste, die mit dieser Technologie erstellt wurden, werden weiterhin über Azure Cloud Services (erweiterter Support) unterstützt. Für eine neue Entwicklung empfehlen wir, einen neueren Diensttyp zu verwenden, der für Ihren spezifischen Zweck entwickelt wurde, z. B. Azure App Service, Azure Functions oder Azure Container Apps. Die neueste Liste der verfügbaren Dienste finden Sie im Verzeichnis der Azure-Produkte.

Wenn Sie Daten in einer Azure-Tabelle filtern möchten, die im Tabellen-Designer von Visual Studio angezeigt wird, müssen Sie eine Filterzeichenfolge erstellen und in das Filterfeld eingeben. Die Syntax der Filterzeichenfolge wird von den WCF Data Services definiert und ist mit einer SQL-WHERE-Klausel vergleichbar. Sie wird jedoch über eine HTTP-Anforderung an den Tabellenspeicherdienst gesendet. Der Tabellen-Designer nimmt die erforderliche Codierung vor, sodass Sie zum Filtern nach einem gewünschten Eigenschaftswert nur den Eigenschaftennamen, den Vergleichsoperator, den Kriterienwert und optional einen booleschen Operator im Filterfeld eingeben müssen. Sie müssen die Abfrageoption $filter nicht einschließen, wie Sie es tun würden, wenn Sie eine URL zur Abfrage der Tabelle über die Storage Services REST API Reference erstellen würden.

Die WCF Data Services basieren auf dem Open Data Protocol (OData). Einzelheiten zur Filtersystemabfrage-Option ($filter) finden Sie in der Spezifikation zu OData URI Conventions.

Vergleichsoperatoren

Die folgenden logischen Operatoren werden für alle Eigenschaftentypen unterstützt:

Logischer Operator BESCHREIBUNG Filterzeichenfolge (Beispiel)
eq Equal Ort eq 'Redmond'
gt Größer als Preis gt 20
ge Größer als oder gleich Preis ge 10
lt Kleiner als Preis lt 20
le Kleiner als oder gleich Preis le 100
ne Ungleich Ort ne 'London'
und And Preis le 200 and Preis gt 3,5
oder oder Preis le 3,5 or Preis gt 200
not Not not isAvailable

Wenn Sie eine Filterzeichenfolge erstellen, sind die folgenden Regeln wichtig:

  • Verwenden Sie die logischen Operatoren, um eine Eigenschaft mit einem Wert zu vergleichen. Es ist nicht möglich, eine Eigenschaft mit einem dynamischen Wert zu vergleichen; eine Seite des Ausdrucks muss eine Konstante sein.
  • Bei allen Teilen der Filterzeichenfolge ist die Groß-/Kleinschreibung zu beachten.
  • Der konstante Wert muss den gleichen Datentyp besitzen wie die Eigenschaft, damit vom Filter gültige Ergebnisse zurückgegeben werden. Weitere Informationen zu unterstützten Eigenschaftentypen finden Sie unter Grundlegendes zum Tabellenspeicherdienst-Datenmodell.

Filtern nach Zeichenfolgeneigenschaften

Wenn Sie nach Zeichenfolgeneigenschaften filtern, schließen Sie die Zeichenfolgenkonstante in einfache Anführungszeichen ein.

Im folgenden Beispiel wird nach der PartitionKey-Eigenschaft und der RowKey-Eigenschaft gefiltert. Zusätzliche nicht schlüsselbezogene Eigenschaften können auch der Filterzeichenfolge hinzugefügt werden:

PartitionKey eq 'Partition1' and RowKey eq '00001'

Sie können jeden Filterausdruck in Klammern einschließen, müssen dies aber nicht tun:

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

Der Tabellendienst unterstützt keine Platzhalterabfragen, und sie werden auch im Tabellendesigner nicht unterstützt. Sie können jedoch den Präfixabgleich ausführen, indem Sie für das gewünschte Präfix Vergleichsoperatoren verwenden. Im folgenden Beispiel werden Entitäten mit einer LastName-Eigenschaft zurückgegeben, die mit dem Buchstaben 'A' beginnt:

LastName ge 'A' and LastName lt 'B'

Filtern nach numerischen Eigenschaften

Wenn Sie nach einer ganzen Zahl oder einer Gleitkommazahl filtern möchten, geben Sie die Zahl ohne Anführungszeichen an.

In diesem Beispiel werden alle Entitäten mit einer Alterseigenschaft zurückgegeben, deren Wert größer als 30 ist:

Age gt 30

In diesem Beispiel werden alle Entitäten mit einer AmountDue-Eigenschaft zurückgegeben, deren Wert kleiner oder gleich 100,25 ist:

AmountDue le 100.25

Filtern nach booleschen Eigenschaften

Geben Sie zum Filtern nach einem booleschen Wert true oder false ohne Anführungszeichen ein.

Im folgenden Beispiel werden alle Entitäten zurückgegeben, bei denen die IsActive-Eigenschaft auf truefestgelegt ist:

IsActive eq true

Sie können auch diesen Filterausdruck ohne den logischen Operator schreiben. Im folgenden Beispiel gibt der Tabellendienst auch alle Entitäten zurück, bei denen IsActive true ist:

IsActive

Um alle Entitäten zurückzugeben, bei denen IsActive falsch ist, können Sie den Operator not verwenden:

not IsActive

Filtern nach DateTime-Eigenschaften

Um nach einem DateTime-Wert zu filtern, geben Sie das Schlüsselwort datetime an, auf das die Datums-/Uhrzeitkonstante in einfachen Anführungszeichen folgt. Die Datum-/Uhrzeitkonstante muss im kombiniertem UTC-Format vorliegen, wie in Formatieren von DateTime-Eigenschaftswertenbeschrieben.

Im folgenden Beispiel werden Entitäten zurückgegeben, bei denen die CustomerSince-Eigenschaft gleich dem 10. Juli 2008 ist:

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