接上篇;下面是基本用法及说明
1.Geq(>=)
The Geq element is an arithmetic operator that means "greater than or equal to." It can be used within a Where element in a view definition.
<Query>
<Where>
<Or>
<IsNull>
<FieldRef Name="Expires" />
</IsNull>
<Geq>
<FieldRef Name="Expires" />
<Value Type="DateTime">
<Today />
</Value>
</Geq>
</Or>
</Where>
<OrderBy>
<FieldRef Name="Modified" Ascending="FALSE" />
</OrderBy>
</Query>
2.Eq(=)
The Eq element is an arithmetic operator that means "equal to" and is used within the Query element.
<Query>
<OrderBy>
<FieldRef Name="Modified" Ascending="FALSE"></FieldRef>
</OrderBy>
<Where>
<Or>
<Eq>
<FieldRef Name="Status"></FieldRef>
<Value Type="Text">Completed</Value>
</Eq>
<IsNull>
<FieldRef Name="Status"></FieldRef>
</IsNull>
</Or>
</Where>
</Query>
3.Gt(>)
The Gt element is an arithmetic operator that means "greater than." This element is used similarly to Eq and Lt.
<Query>
<Where>
<Or>
<IsNull>
<FieldRef Name="Deadline" />
</IsNull>
<Gt>
<FieldRef Name="Deadline" />
<Value Type="DateTime">
<Today />
</Value>
</Gt>
</Or>
</Where>
<OrderBy>
<FieldRef Name="Modified" Ascending="FALSE" />
</OrderBy>
</Query>
4.Lt(<)
The Lt element is an arithmetic operator that means "less than" and is used in queries in views. This element is used similarly to Eq and Gt.
<Query>
<Where>
<Or>
<IsNull>
<FieldRef Name="Deadline" />
</IsNull>
<Lt>
<FieldRef Name="Deadline" />
<Value Type="DateTime">
<Today />
</Value>
</Lt>
</Or>
</Where>
<OrderBy>
<FieldRef Name="Modified" Ascending="FALSE" />
</OrderBy>
</Query>
5.Neq(!=)
The Neq element is an arithmetic operator that means "not equal to" and is used in queries.
<Query>
<OrderBy>
<FieldRef Name="Modified" Ascending="FALSE"></FieldRef>
</OrderBy>
<Where>
<Or>
<Neq>
<FieldRef Name="Status"></FieldRef>
<Value Type="Text">Completed</Value>
</Neq>
<IsNull>
<FieldRef Name="Status"></FieldRef>
</IsNull>
</Or>
</Where>
</Query>
SPQuery 的Where 子句的用法
1、一个条件实例
<Where> <Or> <Eq><FieldRef Name='Name'/>
<Value Type='Text'>Mark</Value></Eq> <Eq><FieldRef
Name='Name'/><Value Type='Text'>Joe</Value></Eq> </Or>
</Where>
2、两个条件实例
<Where> <Or> <Eq><FieldRef Name='Name'/>
<Value Type='Text'>Mark</Value></Eq> <Or> <Eq>
<FieldRef Name='Name'/><Value Type='Text'>Joe</Value></Eq>
<Eq><FieldRef Name='Name'/><Value Type='Text'>Linda</Value></Eq>
</Or> </Or> </Where>
3、三个条件实例
<Where> <Or> <Eq><FieldRef Name='Name'/>
<Value Type='Text'>Mark</Value></Eq> <Or> <Eq>
<FieldRef Name='Name'/><Value Type='Text'>Joe</Value></Eq>
<Eq><FieldRef Name='Name'/><Value Type='Text'>Linda</Value></Eq>
</Or> </Or> </Where>
下表是CAML查询的一些简单说明:
元素 | 说明 |
And | 并且 |
BeginsWith | 以某字符串开始的 |
Contains | 包含某字符串 |
Eq | 等于 |
FieldRef | 一个字段的引用 (在GroupBy 中使用) |
Geq | 大于等于 |
GroupBy | 分组 |
Gt | 大于 |
IsNotNull | 非空 |
IsNull | 空 |
Leq | 小于等于 |
Lt | 小于 |
Neq | 不等于 |
Now | 当前时间 |
Or | 或 |
OrderBy | 排序 |
Today | 今天的日期 |
TodayIso | 今天的日期(ISO格式) |
Where |