Konstruowanie ciągów filtrów dla projektanta tabel

Uwaga

Ten artykuł dotyczy usług Azure Cloud Services (wersja klasyczna), która jest obecnie przestarzała dla nowych klientów i zostanie wycofana 31 sierpnia 2024 r. Istniejące usługi utworzone za pomocą tej technologii są nadal obsługiwane za pośrednictwem usług Azure Cloud Services (wsparcie dodatkowe). W przypadku nowego programowania zalecamy użycie nowszego typu usługi przeznaczonego do określonego celu, takiego jak aplikacja systemu Azure Service, Azure Functions lub Azure Container Apps. Aby uzyskać najnowszą listę dostępnych usług, zobacz Katalog produktów platformy Azure.

Aby filtrować dane w tabeli platformy Azure, która jest wyświetlana w Projektant tabeli programu Visual Studio, należy utworzyć ciąg filtru i wprowadzić go w polu filtru. Składnia ciągu filtru jest definiowana przez Usługi danych programu WCF i jest podobna do klauzuli SQLWHERE, ale jest wysyłana do usługi Table Service za pośrednictwem żądania HTTP. Tabela Projektant obsługuje odpowiednie kodowanie, więc aby filtrować żądaną wartość właściwości, musisz wprowadzić tylko nazwę właściwości, operator porównania, wartość kryteriów i opcjonalnie operator logiczny w polu filtru. Nie musisz uwzględniać $filter opcji zapytania, tak jak w przypadku tworzenia adresu URL do wykonywania zapytań dotyczących tabeli za pośrednictwem dokumentacji interfejsu API REST usług Storage.

Usługi danych programu WCF opiera się na Otwórz protokół OData (Data Protocol). Aby uzyskać szczegółowe informacje na temat opcji zapytania systemu filtrowania ($filter), zobacz specyfikację konwencji OData URI.

Operatory porównania

Następujące operatory logiczne są obsługiwane dla wszystkich typów właściwości:

Operator logiczny opis Przykładowy ciąg filtru
eq Równa się Miasto eq "Redmond"
gt Większe niż Cena gt 20
ge Większe niż lub równe Cena ge 10
lt Mniejsze niż Cena lt 20
le Mniejsze niż lub równe Cena le 100
ne Not equal Miasto ne "Londyn"
oraz And Cena le 200 i Cena gt 3,5
lub Or Cena le 3,5 lub Cena gt 200
not Not niedostępny

Podczas konstruowania ciągu filtru ważne są następujące reguły:

  • Użyj operatorów logicznych, aby porównać właściwość z wartością. Nie można porównać właściwości z wartością dynamiczną; jedna strona wyrażenia musi być stałą.
  • We wszystkich częściach ciągu filtru jest rozróżniana wielkość liter.
  • Wartość stała musi mieć ten sam typ danych co właściwość, aby filtr zwracał prawidłowe wyniki. Aby uzyskać szczegółowe informacje na temat obsługiwanych typów właściwości, zobacz Omówienie modelu danych usługi Table service.

Filtrowanie we właściwościach ciągu

Podczas filtrowania właściwości ciągu należy ująć stałą ciągu w pojedynczy cudzysłów.

Poniższy przykład filtruje właściwości PartitionKey i RowKey ; do ciągu filtru można również dodać dodatkowe właściwości inne niż klucz:

PartitionKey eq 'Partition1' and RowKey eq '00001'

Każde wyrażenie filtru można ująć w nawiasy, chociaż nie jest wymagane:

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

Usługa Table Service nie obsługuje zapytań wieloznacznych i nie są one obsługiwane w Projektant tabeli. Można jednak wykonać dopasowywanie prefiksów przy użyciu operatorów porównania w żądanym prefiksie. Poniższy przykład zwraca jednostki z właściwością LastName rozpoczynającą się literą "A":

LastName ge 'A' and LastName lt 'B'

Filtrowanie we właściwościach liczbowych

Aby filtrować liczbę całkowitą lub zmiennoprzecinkową, określ liczbę bez cudzysłowu.

Ten przykład zwraca wszystkie jednostki z właściwością Age, której wartość jest większa niż 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:

AmountDue le 100.25

Filtrowanie właściwości logicznych

Aby filtrować wartość logiczną, określ wartość true lub false bez cudzysłowu.

Poniższy przykład zwraca wszystkie jednostki, w których właściwość IsActive ma wartość true:

IsActive eq true

To wyrażenie filtru można również napisać bez operatora logicznego. W poniższym przykładzie usługa Table Service zwraca również wszystkie jednostki, w których isActive ma wartość true:

IsActive

Aby zwrócić wszystkie jednostki, w których isActive ma wartość false, możesz użyć not operatora :

not IsActive

Filtrowanie we właściwościach daty/godziny

Aby filtrować według wartości DateTime, określ słowo kluczowe datetime , a następnie stałą daty/godziny w pojedynczych cudzysłowach. Stała data/godzina musi być w formacie UTC w połączeniu, zgodnie z opisem w temacie Formatowanie wartości właściwości DateTime.

Poniższy przykład zwraca jednostki, w których właściwość CustomerSince jest równa 10 lipca 2008 r.:

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