Функции Datetime/DateTimeOffset Когнитивного поиска Azure

Я некоторое время пытался найти функции даты и времени, которые работают в поисковых запросах Azure. Такие функции, как day(MyDateTime) или time(MyDateTime), чтобы получить день недели или часть времени соответственно.

У меня есть коллекция (Schedule{scheduleStart,scheduleEnd}) - оба свойства относятся к DateTimeOffset, с помощью которых я запрашиваю/фильтрую, используя синтаксис лямда, например:

$filter=schedule/any(d: day(d/scheduleStart) eq 1)

Насколько мне известно и из того, что я исследовал, вышеуказанная функция day() является допустимой функцией OData, но, похоже, не работает, когда я ее использую. Я получаю сообщение об ошибке Функция "день" не поддерживается...

Итак, мой вопрос. Как получить часть дня или часть времени из действительного значения DateTimeOffset в поиске Azure, используя синтаксис запроса? Эти функции существуют?

Думаю, я могу добавить еще одно свойство в свою модель со значением dayOfWeek int, но я не хочу этого делать, пока не узнаю, что есть лучший способ, который в любом случае решит только одну из моих проблем :)


person Bheeks    schedule 19.09.2020    source источник
comment
Отвечает ли это на ваш вопрос? поиск Azure - доступны ли функции datediff/dateadd?   -  person Bruce Johnston    schedule 29.09.2020
comment
Привет @БрюсДжонстон. Надеюсь, вы хорошо и спасибо за ответ. Я так понимаю, функции oData все еще не поддерживаются? Я могу обойти проблему дня недели, добавив в модель int для dayOfWeek. Как, по-вашему, я могу обойти проблему сравнения времен? Мне нужно сравнить день недели и время суток независимо от даты.   -  person Bheeks    schedule 01.10.2020
comment
Я думаю, вам придется хранить дату и время в отдельных полях, так как сравнение диапазонов не сработает.   -  person Bruce Johnston    schedule 01.10.2020