CAML查询比较DateTime和Eq
我正在尝试将两个DateTime对象进行比较的CAML查询,但我无法使用Eq比较来使其工作 。 从我的测试中,我可以得到Gt,Lt,Geq,Leq与DateTime比较,但Eq似乎根本无法工作。
第一个对象是日期和时间字段(由InfoPath生成并保存到SharePoint列表中的日期和时间字段),当前示例具有“2012年3月14日中午12:00”。 我试图使用ISO格式的硬编码值[Today /]值,但目前为止没有任何工作。 我试验了IncludeTimeValue,将其设置为true / false,没有任何改进。
我目前的查询看起来有点像这样,
<Query>
<Where>
<Eq>
<FieldRef Name="SomeDateTimeField" IncludeTimeValue="TRUE" />
<Value Type="DateTime" IncludeTimeValue="TRUE">2012-03-14T00:00:00Z</Value>
</Eq>
</Where>
</Query>
这不会返回任何内容,即使我在列表中有一个具有该日期时间的项目。 有任何想法吗?
相等的语句不能返回任何内容,因为秒数被计算在内。 尝试使用日期范围。 样品:
<Where>
<And>
<Gt>
<FieldRef Name='Created' />
<Value IncludeTimeValue='TRUE' Type='DateTime'>2014-12-10T00:00:00Z</Value>
</Gt>
<Lt>
<FieldRef Name='Created' />
<Value IncludeTimeValue='TRUE' Type='DateTime'>2014-12-10T23:59:59Z</Value>
</Lt>
</And>
</Where>
请注意,我们使用相同的日期,但不同的时间。
这是否工作:
<Query><Where><Eq><FieldRef Name="SomeDateTimeField"/><Value IncludeTimeValue='TRUE' Type='DateTime'>2012-03-14T00:00:00</Value></Eq></Where></Query>
链接地址: http://www.djcxy.com/p/64137.html