Вычислить разницу между двумя значениями даты и времени в CosmosDb - PullRequest
0 голосов
/ 28 января 2020

Допустим, у нас есть документы с полем EffectiveDate DateTime. Как вы запрашиваете CosmosDb, чтобы вернуть записи, где разница между сегодняшним днем ​​и EffectiveDate превышает 30?

Это не похоже на работу:

select c from c where ("2020-01-28T00:00:00-06:00" - c.effectiveDate) > 30

1 Ответ

2 голосов
/ 28 января 2020

Пожалуйста, попробуйте обратиться к официальному документу User-defined functions (UDFs) in Azure Cosmos DB, чтобы узнать функцию UDF из Azure CosmosDB, и вы можете использовать ее для реализации своих потребностей.

Как На приведенном ниже рисунке выполните шаги для создания пользовательской функции с именем utctime, используя JavaScript в проводнике данных Azure CosmosDB на портале Azure.

enter image description here

function userDefinedFunction(dateStr){
    return new Date(dateStr).getTime() / 1000;
}

Затем вы можете выполнить запрос SQL, используя sh, как показано ниже.

SELECT * FROM c WHERE (udf.utctime('2020-01-28T00:10:00-06:00') - udf.utctime(c.effectiveDate)) > 30

Результат моего примера показан на рисунке ниже.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...