SharePoint CSOM 查询关键字筛选日期时间类型列



我正在使用桌面 c# 应用程序的 CSOM SharePoint 客户端库与 SharePoint 进行交互。

我想根据某个日期时间的日期和时间类型列进行查询,并返回匹配的文档数据。

如果我在 SharePoint

搜索框中输入文本 LastModifiedTime: 2019-11-19,则会返回结果,以便我知道 SharePoint 中存在匹配的数据。

如果我将 KeyWorkQuery 设置为对基于字符串的列的查询,则会返回预期的结果。

KeywordQuery keywordQuery = new KeywordQuery(context);
keywordQuery.QueryText =  @"author: ""Tom"" author: ""Bill"" FileType: ""txt""";

为了过滤日期时间类型的列,我尝试了以下方法,但没有取回数据。 我怀疑这是查询文本中的格式错误,并且查询被视为字符串,而不是日期时间类型,

keywordQuery.QueryText = "LastModifiedTime:2019-11-19T09:28:25:ssZ";
keywordQuery.QueryText = "LastModifiedTime:2019-11-19T09:28:25";
keywordQuery.QueryText = "LastModifiedTime:2019-11-19";

是否可以使用 SharePoint 客户端库查询基于日期时间类型的列?

如果是这样,查询字符串需要什么格式才能筛选列? 任何建议表示赞赏。

在 KQL 示例中,它似乎使用"="而不是":"来表示日期时间。尝试:

LastModifiedTime=today

https://learn.microsoft.com/en-us/sharepoint/dev/general-development/keyword-query-language-kql-syntax-reference

您也可以尝试使用一系列日期:

LastModifiedTime>=2019-01-01 AND LastModifiedTime<=2019-04-26

编辑 此问题可能是由于 KQL 不支持确切的日期筛选器。它似乎必须是一个范围或特殊的关键字选项。

就日期时间字符串格式而言,您的示例似乎受支持。

最新更新