Поделиться через


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

Заметка

Эта статья относится к облачным службам Azure (), Azure (расширенная поддержка). Облачные службы (классическая версия) прекращены с 31 августа 2024 г. Для получения дополнительной информации, см. Модель развертывания облачных служб (классическая) выводится из эксплуатации 31 августа 2024 г.. Для новой разработки рекомендуется использовать новый тип службы, предназначенный для конкретной цели, например служба приложений Azure, функции Azureили контейнерные приложения Azure. Последний список доступных служб см. в каталоге продуктов Azure.

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

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

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

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

Логический оператор Описание Пример строки фильтра
Эквалайзер Равный Город eq 'Redmond'
gt; Больше чем Цена 20
ге Больше или равно Цена ge 10
lt Менее Цена lt 20
меньше или равно Меньше или равно Цена le 100
не Не равно Город не "Лондон"
и И Price le 200 и Price gt 3.5
или Или Price le 3.5 или Price gt 200
не Не недоступно

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

  • Используйте логические операторы для сравнения свойства со значением. Невозможно сравнить свойство с динамическим значением; одна сторона выражения должна быть константой.
  • Все части строки фильтра чувствительны к регистру.
  • Значение константы должно иметь тот же тип данных, что и свойство, чтобы фильтр возвращал допустимые результаты. Дополнительные сведения о поддерживаемых типах свойств см. в статье Общие сведения о модели данных службы таблиц.

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

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

В следующем примере фильтруется по свойствам 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:

Age gt 30

В этом примере возвращаются все сущности со свойством AmountDue, значение которого меньше или равно 100,25:

AmountDue le 100.25

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

Чтобы отфильтровать логическое значение, укажите true или false без кавычек.

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

IsActive eq true

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

IsActive

Чтобы вернуть все сущности, где IsActive имеет значение false, можно использовать оператор not:

not IsActive

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

Чтобы отфильтровать значение DateTime, укажите ключевое слово datetime, за которым следует константа даты и времени в одинарных кавычках. Константа даты и времени должна находиться в объединенном формате UTC, как описано в разделе Форматирование значений свойств DateTime.

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

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