如何在 CosmosDB 上查询最近 30 天的数据?

问题描述 投票:0回答:2

我正在寻找过去 30 天的记录。

我如何修改下面的

partitionID
,使其不会带回任何超过 30 天标记的记录?

 SELECT * FROM c WHERE c.partitionID LIKE '%-2021-12-17%'

azure azure-cosmosdb azure-cosmosdb-sqlapi
2个回答
3
投票

如果您有一列包含 ISO 8601 格式的日期时间,例如:

{
    "id": "test",
    "partitionKey": "a",
    "date": "2021-11-01T20:36:17.1234567Z"
}

您可以使用日期和时间函数进行查询:

SELECT * FROM c
WHERE DateTimeDiff("day", c.date, GetCurrentDateTime()) <= 30

如果您想要特定时间段内的所有商品(此处例如 2021 年 12 月的所有商品):

SELECT * FROM c
WHERE c.date >= '2021-12-01T00:00:00.0000000Z' AND c.date < '2021-12-31T00:00:00.0000000Z'

0
投票

现在使用 DateTimeAdd

原生支持此功能

从c中选择* WHERE c.Date > DateTimeAdd ('月', -1, GetCurrentDateTime())

© www.soinside.com 2019 - 2024. All rights reserved.