MS Flow: SQL Server Get_rows - мы не можем применить operator <к типам DateTimeZone и DateTime - PullRequest
0 голосов
/ 25 января 2019

Проблема

Я пытаюсь написать простой поток, который собирает несколько строк из моей базы данных SQL Server и отправляет мне данные по электронной почте.Однако у меня возникают проблемы с фильтрацией этих записей по дате.Я хочу, чтобы Flow получал только записи за прошедший день, поэтому я пытаюсь сделать что-то, например, следующий запрос фильтра Odata:

ItemCreatedWhen gt addDays(utcNow('yyyy-MM-ddTHH:mm:ssZ'), -1)

Однако, когда я запускаю это, я получаю следующее сообщение об ошибке:

Мы не можем применить оператор <к типам DateTimeZone и DateTime. </i>

Тип данных SQL Server для этого столбца - datetime2 в форме 'yyyy-MM-dd HH:mm:ss'

Что я пробовал

Я пробовал следующее:

ItemCreatedWhen gt addDays(utcNow(), -1)

Ошибка: Мы не можем применить оператор <к типам DateTimeZone и DateTime. </i>

ItemCreatedWhen gt convertFromUtc(addDays(utcNow(), -1), 'Eastern Standard Time')

Ошибка: Текст DateTimeOffset '2019-01-24T10: 59: 25.7848207' должен быть в формате 'гггг-мм-ддтч: мм: сс ('.'s +)? (Zzzzzz)?и каждое значение поля находится в допустимом диапазоне.внутреннее исключение: информация о часовом поясе отсутствует в значении DateTimeOffset «2019-01-24T10: 59: 25.7848207».Значение DateTimeOffset должно содержать информацию о часовом поясе.

1 Ответ

0 голосов
/ 25 января 2019

Предполагая, что столбец "ItemCreatedWhen" в вашей таблице имеет формат даты / времени, просто отправьте этот запрос на SQL Server, чтобы получить вчерашние данные:

SELECT * FROM YourTable
WHERE ItemCreatedWhen > DATEADD(DAY,-2,CAST(GETUTCDATE() as DATE)) 
    and ItemCreatedWhen < CAST(GETUTCDATE() as DATE)
...