如何从日期和时间之间的 azure table 存储中检索数据

How to retrieve data from azure table storage between date and time

我正在尝试使用 table 中的 logdatetime 列从 table 存储中检索 2 个日期之间的数据,我最终得到了这个

{"Result":[],"Id":11,"Exception":null,"Status":5,"IsCanceled":false,"IsCompleted":true,"IsCompletedSuccessfully":true,"CreationOptions":0,"AsyncState":null,"IsFaulted":false}

而不是这 2 天之间的数据。仅供参考,id 硬编码,从日期时间到日期时间。

            CloudTableClient tableClient = storageAccount.CreateCloudTableClient();              

            string partitionFilter = TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "partitionkey");

            string finalFilter = TableQuery.CombineFilters(
                                    TableQuery.CombineFilters(partitionFilter, TableOperators.And, "logdatetime eq datetime'2019-03-17T19:09:26.0000000Z'"), TableOperators.And, "logdatetime eq datetime'2019-03-17T19:10:16.0000000Z'");

            var query = new TableQuery<TelemetryData>().Where(finalFilter);
            CloudTable table = tableClient.GetTableReference("TableName");
            var result = table.EndExecuteQuerySegmented(query,null);

如果您想获得两个日期时间之间的结果,您应该在查询过滤器中使用运算符 le / ge

所以你应该把下面代码中的运算符eq分别改成le or ge

string finalFilter = TableQuery.CombineFilters(
                                    TableQuery.CombineFilters(partitionFilter, TableOperators.And, "logdatetime ge datetime'2019-03-17T19:09:26.0000000Z'"), TableOperators.And, "logdatetime le datetime'2019-03-17T19:10:16.0000000Z'");