Экспорт (0) Печать
Развернуть все

Построение строк фильтра для конструктора таблиц

Обновлено: Апрель 2014 г.

Для фильтрации данных в таблице Azure, отображаемой в конструкторе таблиц Visual Studio, следует создать строку фильтра и ввести ее в поле фильтра. Синтаксис строки фильтра определяется службами данных WCF и напоминает предложение SQL WHERE, но отправляется в службу таблиц через HTTP-запрос. Конструктор таблиц обрабатывает соответствующую кодировку, поэтому для фильтрации по значению свойства требуется ввести в поле фильтра только имя свойства, оператор сравнения, значение для сравнения и, при необходимости, логический оператор. Не нужно включать параметр запроса $filter, как при построении URL-адреса для запроса к таблице через Azure Storage Services REST API Reference.

Службы данных WCF основаны на протоколе Open Data Protocol (OData). Сведения о параметре системного запроса фильтрации ($filter) см. в разделе Характеристики соглашений по OData URI.

Операторы сравнения

Следующие логические операторы поддерживаются для всех типов свойств.

 

Логический оператор Описание Пример строки фильтра

eq

Равно

City eq 'Redmond'

gt

Больше

Price gt 20

ge

Больше или равно

Price ge 10

lt

Меньше

Price lt 20

le

Меньше или равно

Price le 100

ne

Не равно

City ne 'London'

и

и

Price le 200 and Price gt 3.5

или

— или —

Price le 3.5 or Price gt 200

not

Не

not isAvailable

При создании строки фильтра, важное значение имеют следующие правила:

  • Чтобы сравнить свойство и значение используйте логические операторы. Следует учитывать, что нельзя сравнивать свойство и динамическое значение; одна из частей выражения должна быть константой.

  • Во всех частях строки фильтра учитывается регистр.

  • Константа должна принадлежать к тому же типу данных, что и свойство, иначе фильтр не сможет вернуть допустимые результаты. Дополнительные сведения о поддерживаемых типах свойств см. в разделе Understanding the Table Service Data Model.

Фильтрация по строковым свойствам

При фильтрации по строковым свойствам заключайте строковую константу в одинарные кавычки.

В следующем примере выполняется фильтрация по свойствам PartitionKey и RowKey, дополнительные не ключевые свойства также могут быть добавлены в строку фильтра.

PartitionKey eq 'Partition1' and RowKey eq '00001'

Можно заключить каждое из выражений фильтрации в скобки, хотя это не обязательно.

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

Обратите внимание, что служба таблиц и конструктор таблиц не поддерживают запросы с подстановочными знаками. Однако можно выполнять фильтрацию по префиксу, используя операторы сравнения и желаемый префикс. Следующий пример строки возвращает сущности, у которых свойство LastName начинается с буквы "A".

LastName ge 'A' and LastName lt 'B'

Фильтрация по числовым свойствам

Для фильтрации по целому числу или числу с плавающей запятой указывайте число без кавычек.

Следующий пример строки возвращает все сущности со значением свойства Age больше 30.

Следующий пример строки возвращает все сущности со значением свойства AmountDue меньше или равным 100,25.

AmountDue le 100.25

Фильтрация по логическим свойствам

Для фильтрации по логическим значениям указывайте true и false без кавычек.

Следующий пример строки возвращает все сущности, у которых свойство IsActive имеет значение true.

IsActive eq true

Это выражение фильтрации также можно записать без логического оператора. В следующем примере служба таблиц также вернет все сущности, у которых свойство IsActive имеет значение true.

Для возврата всех сущностей, у которых свойство IsActive имеет значение false, можно использовать оператор not.

not IsActive

Фильтрация по свойствам DateTime

Для фильтрации по свойствам DateTime укажите ключевое слово datetime, и за ним введите константу даты или времени в одинарных кавычках. Константа даты-времени должна быть указана в комбинированном формате UTC, как описано в Formatting the DateTime Property Values.

Следующий пример строки возвращает сущности, у которых свойство CustomerSince имеет значение 10 июля 2008 года.

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

Добавления сообщества

Показ:
© 2014 Microsoft