Konstruowanie ciągów filtrów dla projektanta tabelConstructing Filter Strings for the Table Designer

OmówienieOverview

Aby filtrować dane w tabeli platformy Azure, która jest wyświetlana w Projektancie tabel programu Visual Studio, należy utworzyć ciąg filtru i wprowadzić go w polu filtru.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. Składnia ciągu filtru jest definiowana przez Usługi danych programu WCF i jest podobna do klauzuli SQL WHERE, ale jest wysyłana do Table service za pośrednictwem żądania 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. Projektant tabel obsługuje odpowiednie kodowanie, dlatego w celu filtrowania według żądanej wartości właściwości należy wprowadzić tylko nazwę właściwości, operator porównania, wartość kryteriów i opcjonalnie operator logiczny w polu filtru.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. Nie trzeba dołączać opcji zapytania $filter tak samo, jak w przypadku konstruowania adresu URL w celu zbadania tabeli za pośrednictwem dokumentacji interfejsu API REST usług Storage.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.

Usługi danych programu WCF opierają się na protokole Open Data Protocol (OData).The WCF Data Services are based on the Open Data Protocol (OData). Aby uzyskać szczegółowe informacje na temat opcji filtrowania systemu kwerend ($Filter), zobacz specyfikację identyfikatorów URI usługi OData.For details on the filter system query option ($filter), see the OData URI Conventions specification.

Operatory porównaniaComparison Operators

Następujące operatory logiczne są obsługiwane dla wszystkich typów właściwości:The following logical operators are supported for all property types:

Operator logicznyLogical operator OpisDescription Przykładowy ciąg filtruExample filter string
eqeq RówneEqual Miasto EQ "Redmond"City eq 'Redmond'
gtgt Większe niżGreater than Cena gt 20Price gt 20
gege Większe niż lub równeGreater than or equal to Cena GE 10Price ge 10
ltlt Mniejsze niżLess than Cena lt 20Price lt 20
lele Mniejsze niż lub równeLess than or equal Cena Le 100Price le 100
nene Nie równa sięNot equal Miasto (Londyn)City ne 'London'
orazand orazAnd Cena Le 200 i cena gt 3,5Price le 200 and Price gt 3.5
lubor LubOr Cena Le 3,5 lub cena gt 200Price le 3.5 or Price gt 200
notnot NotNot nie IsAvailablenot isAvailable

Podczas konstruowania ciągu filtru ważne są następujące reguły:When constructing a filter string, the following rules are important:

  • Operatory logiczne służą do porównywania właściwości z wartością.Use the logical operators to compare a property to a value. Należy pamiętać, że nie można porównać właściwości z wartością dynamiczną; jedna ze stron wyrażenia musi być stałą.Note that it is not possible to compare a property to a dynamic value; one side of the expression must be a constant.
  • We wszystkich częściach ciągu filtru jest rozróżniana wielkość liter.All parts of the filter string are case-sensitive.
  • Wartość stała musi mieć ten sam typ danych co właściwość, aby filtr zwracał prawidłowe wyniki.The constant value must be of the same data type as the property in order for the filter to return valid results. Aby uzyskać szczegółowe informacje na temat obsługiwanych typów właściwości, zobacz Omówienie modelu danych usługi Table service.For more information about supported property types, see Understanding the Table Service Data Model.

Filtrowanie właściwości ciąguFiltering on String Properties

W przypadku filtrowania według właściwości ciągu ujmij ciąg w znaki pojedynczego cudzysłowu.When you filter on string properties, enclose the string constant in single quotation marks.

Poniższe przykładowe filtry we właściwościach PartitionKey i RowKey ; do ciągu filtru można również dodać dodatkowe właściwości niebędące kluczami: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'

Każde wyrażenie filtru można ująć w nawiasy, chociaż nie jest to wymagane:You can enclose each filter expression in parentheses, although it is not required:

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

Należy zauważyć, że Table service nie obsługuje zapytań wieloznacznych i nie są obsługiwane w Projektancie tabel.Note that the Table service does not support wildcard queries, and they are not supported in the Table Designer either. Można jednak wykonać dopasowanie prefiksu przy użyciu operatorów porównania na żądanym prefiksie.However, you can perform prefix matching by using comparison operators on the desired prefix. Poniższy przykład zwraca jednostki z właściwością LastName rozpoczynającą się literą "A":The following example returns entities with a LastName property beginning with the letter 'A':

LastName ge 'A' and LastName lt 'B'

Filtrowanie na właściwościach liczbowychFiltering on Numeric Properties

Aby odfiltrować liczbę całkowitą lub zmiennoprzecinkową, określ liczbę bez znaków cudzysłowu.To filter on an integer or floating-point number, specify the number without quotation marks.

Ten przykład zwraca wszystkie jednostki z właściwością wieku, której wartość jest większa niż 30:This example returns all entities with an Age property whose value is greater than 30:

Age gt 30

Ten przykład zwraca wszystkie jednostki z właściwością AmountDue, której wartość jest mniejsza lub równa 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

Filtrowanie właściwości logicznychFiltering on Boolean Properties

Aby odfiltrować wartość logiczną, należy określić wartość PRAWDA lub Fałsz bez znaków cudzysłowu.To filter on a Boolean value, specify true or false without quotation marks.

Poniższy przykład zwraca wszystkie jednostki, w których właściwość IsActive jest ustawiona na wartość true:The following example returns all entities where the IsActive property is set to true:

IsActive eq true

Możesz również napisać wyrażenie filtru bez operatora logicznego.You can also write this filter expression without the logical operator. W poniższym przykładzie Table service zwróci również wszystkie jednostki, gdzie IsActive jest prawdziwe:In the following example, the Table service will also return all entities where IsActive is true:

IsActive

Aby zwrócić wszystkie jednostki, w których IsActive ma wartość false, można użyć operatora not:To return all entities where IsActive is false, you can use the not operator:

not IsActive

Filtrowanie właściwości DateTimeFiltering on DateTime Properties

Aby odfiltrować wartość daty i godziny, określ słowo kluczowe DateTime , po którym następuje stała Data/godzina w pojedynczym cudzysłowie.To filter on a DateTime value, specify the datetime keyword, followed by the date/time constant in single quotation marks. Stała Data/godzina musi być w formacie połączonym UTC, zgodnie z opisem w temacie Formatowanie wartości właściwości DateTime.The date/time constant must be in combined UTC format, as described in Formatting DateTime Property Values.

Poniższy przykład zwraca jednostki, w których właściwość CustomerSince jest równa 10 lipca 2008:The following example returns entities where the CustomerSince property is equal to July 10, 2008:

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