我需要一个CAML查询来比较查找值和非ID。我的查找值是DateTime。startTime和endTime都是DateTime。
下面的代码有问题。我在网上搜索了一下,但我能找到的都是Type=DateTime而不是Lookup。
"<Where>" +
"<And>" +
"<Lt>" +
"<FieldRef Name='" + EventSessionStartTime + "' />" +
"<Value Type='Lookup' IncludeTimeValue='TRUE'>" + endDate + "</Value>" +
"</Lt>" +
"<Gt>" +
"<FieldRef Name='" + EventSessionEndTime + "' />" +
"<Value Type='Lookup' IncludeTimeValue='TRUE'>" + startDate + "</Value>" +
"</Gt>" +
"</And>" +
"</Where>";
找到答案了。使用上面的查询进行比较是完全可以的。它将检索列表中的日期和时间。
- 确保你的内部列名不要太长,因为sharepoint有限制。
- 确保你的日期是标准化的。你不能使用c#给出的时间格式。我使用SPUtility.CreateISO8601DateTimeFromSystemDateTime((DateTime)date)来标准化它。