Vytváření řetězců filtru pro Návrháře tabulek
Poznámka
Tento článek se týká Azure Azure Cloud Services (rozšířená podpora). Cloud Services (Classic) bude k 31. srpnu 2024 zrušen. Pro další informace viz téma Model nasazení cloudových služeb (Classic), který bude vyřazen k 31. srpnu 2024. Pro nový vývoj doporučujeme použít novější typ služby navržený pro váš konkrétní účel, například Azure App Service, Azure Functionsnebo Azure Container Apps. Nejnovější seznam dostupných služeb najdete v tématu Adresář produktů Azure.
Pokud chcete filtrovat data v tabulce Azure, která se zobrazí v návrháři tabulky sady Visual Studio , vytvoříte řetězec filtru a zadáte ho do pole filtru. Syntaxe řetězce filtru je definována službou WCF Data Services a podobá se klauzuli SQL WHERE
, ale odesílá se službě Table Service prostřednictvím požadavku HTTP. Návrhář tabulky zpracovává správné kódování za vás, takže pokud chcete filtrovat hodnotu požadované vlastnosti, potřebujete do pole filtru zadat pouze název vlastnosti, operátor porovnání, hodnotu kritérií a volitelně logický operátor. Nemusíte zahrnout možnost dotazu $filter
, stejně jako kdybyste vytvořili adresu URL pro dotazování na tabulku prostřednictvím referenční rozhraní REST API službyStorage Services .
Wcf Data Services je založen na Open Data Protocol (OData). Podrobnosti o možnosti dotazu systému filtru ($filter) najdete ve specifikaci konvencí URI OData .
Operátory porovnání
Pro všechny typy vlastností jsou podporovány následující logické operátory:
Logický operátor | Popis | Příklad řetězce filtru |
---|---|---|
Eq | Rovný | City eq 'Redmond' |
Gt | Větší než | Cena gt 20 |
germanium | Větší než nebo rovno | Cena ge 10 |
lt | Méně než | Cena lt 20 |
le | Menší než nebo rovno | Cena le 100 |
ne | Nerovná se | Město není 'Londýn' |
a | A | Cena ≤ 200 a Cena > 3,5 |
nebo | Nebo | Cena le 3.5 nebo Cena gt 200 |
ne | Ne | není k dispozici |
Při vytváření řetězce filtru jsou důležitá následující pravidla:
- Logické operátory slouží k porovnání vlastnosti s hodnotou. Vlastnost není možné porovnat s dynamickou hodnotou; jedna strana výrazu musí být konstanta.
- Ve všech částech řetězce filtru se rozlišují malá a velká písmena.
- Hodnota konstanty musí být stejného datového typu jako vlastnost, aby filtr vrátil platné výsledky. Další informace o podporovaných typech vlastností najdete v tématu Principy datového modelu služby Table Service.
Filtrování vlastností řetězce
Při filtrování vlastností řetězce uzavřete řetězcovou konstantu do jednoduchých uvozovek.
Následující příklad filtruje vlastnosti PartitionKey a RowKey; Do řetězce filtru je možné přidat také další vlastnosti jiného klíče než klíč:
PartitionKey eq 'Partition1' and RowKey eq '00001'
Každý výraz filtru můžete uzavřít do závorek, i když to není povinné:
(PartitionKey eq 'Partition1') and (RowKey eq '00001')
Služba tabulek nepodporuje dotazy se zástupnými znaky a nejsou podporovány ani v Návrháři tabulek. Porovnávání předpon však můžete provést pomocí relačních operátorů na požadované předponě. Následující příklad vrátí entity s vlastností LastName začínající písmenem "A":
LastName ge 'A' and LastName lt 'B'
Filtrování číselných vlastností
Pokud chcete filtrovat celé nebo desetinné číslo, zadejte číslo bez uvozovek.
Tento příklad vrátí všechny entity s vlastností Age, jejíž hodnota je větší než 30:
Age gt 30
Tento příklad vrátí všechny entity s AmountDue vlastnost, jejíž hodnota je menší nebo rovna 100,25:
AmountDue le 100.25
Filtrování podle logických vlastností
Pokud chcete filtrovat logickou hodnotu, zadejte true nebo false bez uvozovek.
Následující příklad vrátí všechny entity, kde IsActive vlastnost je nastavena na true:
IsActive eq true
Tento výraz filtru můžete také napsat bez logického operátoru. V následujícím příkladu vrátí služba Table také všechny entity, ve kterých je IsActive true:
IsActive
Pokud chcete vrátit všechny entity, ve kterých je IsActive false, můžete použít operátor not
:
not IsActive
Filtrování vlastností DateTime
Pokud chcete filtrovat hodnotu DateTime, zadejte klíčové slovo datetime následované konstantou data a času v jednoduchých uvozovkách. Konstanta data a času musí být v kombinovaném formátu UTC, jak je popsáno v Formátování hodnot vlastností DateTime.
Následující příklad vrátí entity, ve kterých je vlastnost CustomerSince rovna 10. červenci 2008:
CustomerSince eq datetime'2008-07-10T00:00:00Z'