我的列表中的标题列仅包含年份。我想做一个观点,我只会在过去3年里展示。
我正在尝试在List定义中使用CAML查询:
<Query>
<Where>
<Geq>
<FieldRef Name="Year" />
<Value Type="Number"> ???? </Value>
</Geq>
</Where>
</Query>
我试图使用带有<Today>
属性的Offset
元素来获取某些内容,但没有运气 - 它不是DateTime值,而只是一个数字。
如何在此处编写过滤条件?
答案 0 :(得分:2)
由于它不是日期时间值,因此它永远不会与<Today>
和offset
一起使用,因为这些元素会根据查询运行的时刻在内部转换为SQL DateTime值。
您可以创建一个视图,在这里您可以查找2009年以上的任何条目(截至2012年),但每年需要额外的小工作才能适应。
我建议尽可能创建一个真实的日期字段并使用它(并且可能只显示基于该值的计算字段)。
答案 1 :(得分:1)
我建议分两步执行此操作:
<Geq> <FieldRef Name="YearCalculated" /> <Value Type="DateTime" IncludeTimeValue="FALSE"><Today /></Value> </Geq>
使用Offset =“ - 1095”的方法也可以工作,但我认为在计算字段中减去年份值会更好。另外,如果需要,您可以随时在视图表单上隐藏计算字段。