SharePoint常用CAML查询语法及举例
SharePoint常用Caml查询语法及举例
- 1.CAML语法简介
- 2.Caml查询语法常见运算符
- 3.应用举例
- 参考
1.CAML语法简介
CAML简称协作应用程序标记语言,基于XML,用来定义SharePoint网站和列表中栏和视图,可以用于定义数据、呈现数据并在编程中实现。本文只对查询模块进行汇总说明。
2.Caml查询语法常见运算符
写在query标签中用于指定条件进行查询,注意区分大小写。
运算符 | 说明 | 功能 |
---|---|---|
And | 且 | 条件拼接 ,并且 |
Or | 或 | 条件拼接 ,或者 |
Where | 位置筛选器 | 在查询上下文中用来指定位置的筛选器 |
FieldRef | 引用栏目声明 | 表示对查询中的字段的引用 |
Value | 值 | 声明条件的值将与 FieldRef 元素返回的值进行比较 |
Now | 当前日期和时间 | 返回当前日期和时间 |
Today | 当前日期 | 返回当前日期 |
Eq | 等于 | 条件声明 ,返回等于XXX的项 |
Gt | 大于 | 条件声明 ,比较运算符大于 |
Lt | 小于 | 条件声明 ,比较运算符小于 |
Geq | 大于等于 | 条件声明,比较运算符大于等于 |
Leq | 小于等于 | 条件声明,比较运算符小于等于 |
Neq | 不等于 | 条件声明,比较运算符不等于 |
IsNull | 为空 | 条件声明,返回为空 (Null) 的项 |
IsNotNull | 非空 | 条件声明,返回为非空 (Null) 的项 |
BeginsWith | 以某字符串开始 | 条件声明,返回以XXX开头的项 |
Contains | 包含 | 条件声明,返回含有XXX的项 |
GroupBy | 分组 | 条件声明,对查询返回的数据进行分组 |
OrderBy | 排序 | 条件声明,对查询返回的数据进行排序 |
3.应用举例
以下根据查询常见的运算符进行举例说明:
1>And
查询LastName为Bagel且FirstName为Jean(两个条件)的所有项
<Query><Where><And><Eq><FieldRef Name="LastName" /><Value Type="Text">Bagel</Value></Eq><Eq><FieldRef Name="FirstName" /><Value Type="Text">Jean</Value></Eq></And></Where>
</Query>
2>Or
查询LastName为Bagel或FirstName为Jean或EnName为James(三个条件)的所有项
<Query><Where><Or><Or><Eq><FieldRef Name="LastName" /><Value Type="Text">Bagel</Value></Eq><Eq><FieldRef Name="FirstName" /><Value Type="Text">Jean</Value></Eq></Or><Eq><FieldRef Name="EnName" /><Value Type="Text">James</Value></Eq></Or></Where>
</Query>
3>Where
参考1>和2>
4>FieldRef
参考1>和2>
5>Value
参考1>和2>
Type后接数据类型,常见有:Integer整型,Text字段类型,DateTime时间类型
6>Now
查询UpdateTime为当前时间的所有项
<Query><Where><FieldRef Name="UpdateTime" /><Value Type="DateTime"><Now /></Value></Where>
</Query>
7>Today
查询LeaveDate为当前日期的所有项
<Query><Where><FieldRef Name="LeaveDate" /><Value Type="DateTime"><Today /></Value></Where>
</Query>
8>Eq
参考1>和2>
9>Gt
查询ID大于3的所有项
<Query><Where><Gt><FieldRef Name="ID" /><Value Type="Integer">3</Value></Gt></Where>
</Query>
10>Lt
查询ID小于3的所有项
<Query><Where><Lt><FieldRef Name="ID" /><Value Type="Integer">3</Value></Lt></Where>
</Query>
11>Geq
查询ID大于等于3的所有项
<Query><Where><Geq><FieldRef Name="ID" /><Value Type="Integer">3</Value></Geq></Where>
</Query>
12>Leq
查询ID小于等于3的所有项
<Query><Where><Leq><FieldRef Name="ID" /><Value Type="Integer">3</Value></Leq></Where>
</Query>
13>Neq
查询ID不等于3的所有项
<Query><Where><Neq><FieldRef Name="ID" /><Value Type="Integer">3</Value></Neq></Where>
</Query>
14>IsNull
查询ID为空(Null)的所有项
<Query><Where><IsNull><FieldRef Name="ID" /></IsNull></Where>
</Query>
15>IsNotNull
查询ID不为空(Null)的所有项
<Query><Where><IsNotNull><FieldRef Name="ID" /></IsNotNull></Where>
</Query>
16>BeginsWith
返回一个Journal列以 “City” 开头为标题的所有项
<Query><Where><BeginsWith><FieldRef Name="Journal" /><Value Type="Note">City</Value></BeginsWith></Where>
</Query>
17>Contains
返回一个Journal列包含 “City” 字符为标题的所有项
<Query><Where><Contains><FieldRef Name="Journal" /><Value Type="Note">City</Value></Contains></Where>
</Query>
18>GroupBy
查询非空CompanyName并分组(理解为合并相同项)显示所有不同的项标题
关于GroupBy的用法参照SQL中的用法,更多信息推荐浏览关于group by的用法原理
<Query><Where><IsNotNull><FieldRef Name="CompanyName" /></IsNotNull></Where><GroupBy><FieldRef Name="CompanyName" /></GroupBy>
</Query>
19>OrderBy
查询 DeadLine为空或大于等于当前日期的所有项并按ID升序返回(Ascending升序为TRUE,降序为FALSE)
<Query><Where><Or><IsNull><FieldRef Name="DeadLine" /></IsNull><Geq><FieldRef Name="DeadLine" /><Value Type="DateTime"><Today /></Value></Geq></Or></Where><OrderBy><FieldRef Name="ID" Ascending="TRUE" /></OrderBy>
</Query>
参考
以上为个人整理总结的知识,如有遗漏或错误欢迎留言指出、点评,如要引用,请联系通知,未经允许谢绝转载。
[1]: https://docs.microsoft.com/zh-cn/sharepoint/dev/schema/query-schema
SharePoint常用CAML查询语法及举例相关推荐
- python 网络安全数据分析_用Python做数据分析:Pandas常用数据查询语法
撸主: 大毛 岂安科技业务风险分析师 多年订单业务反欺诈经验,负责岂安科技多款产品运营工作. 在使用Pandas之前,大多数数据分析师已经掌握了Excel和SQL,并且在刚上手Pandas时会经常习惯 ...
- mysql怎样查表的模式_mysql常用基础操作语法(四)--对数据的简单无条件查询及库和表查询【命令行模式】...
1.mysql简单的查询:select 字段1,字段2... from tablename; 如果字段那里写一个*,代表查询所有的字段,等同于指定出所有的字段名,因此如果要查询所有字段的数据,一般都是 ...
- Solr常用查询语法笔记
1.常用查询 q - 查询字符串,这个是必须的.如果查询所有*:* ,根据指定字段查询(Name:张三 AND Address:北京) fq - (filter query)过虑查询,作用:在q查询符 ...
- 用LINQ结合CAML查询 Sharepoint 数据库内容
直接用CAML语句查询Sharepoint有时候条件多比较麻烦,所以想到先用CAML查询出来一个对象,然后用LINQ来对对象再次操作 例如,先取一个SPLIST对象 ,然后用CAML对LIST查询操作 ...
- mysql+group+desc_lt;导图gt;Mysql常用查询语法
普通查询 查看整个表格式:select * from 表名; 示例:select * from students; 查询指定字段格式select 字段名1,字段名2 from 表名; 示例select ...
- Kibana 使用 KQL 查询语法-kibana 常用查询语法
Kibana 查询语言 (KQL) 是一种使用自由文本搜索或基于字段的搜索过滤 Elasticsearch 数据的简单语法. KQL 仅用于过滤数据,并没有对数据进行排序或聚合的作用. KQL 能够在 ...
- 入门者必看!SharePoint之CAML总结(实战)
分享人:广州华软 无名 一. 前言 在SharePoint中,不支持直接操作数据库,但开发过程中,避免不了查询数据,那么,在SharePoint中如何查询数据? 当然是使用CAML语法. 二. 目录 ...
- 对CAML查询语句的几点小记
CAML(Collaborative Application Markup Language)--协作应用程序标记语言,在调用WSS提供的诸多Web Service时进行数据查询的一组XML规范,通过 ...
- ElasticSearch 高级查询语法
ElasticSearch 高级查询语法Query DSL ES倒排索引 ES高级查询Query DSL 查询所有 match_all 分页查询form 深分页查询Scroll 指定字段排序sort ...
- 【ES知识】ES基础查询语法一览
大家好,我是老坛. 更多优质文章资源请关注同名公众号:老坛聊开发 Elasticsearch是一个分布式的RESTful 风格的搜索和数据分析引擎,它使用方便,查询速度快,因此也被越来越多的开发人员使 ...
最新文章
- 洛谷 p2066 机器分配(资源型)
- CentOS7 0安装Maven
- Azure Bill
- PAT_B_1033_Java(20分)
- ai背景合成_智能合成AI主播很危险,应立即取消!
- python指定条件分类输出_python基础(二)条件判断、循环、格式化输出
- Spring Boot 最佳实践(三)模板引擎FreeMarker集成
- 操作系统之文件管理:5、文件物理结构(连续分配、链式(显式、隐式)分配、索引分配(链接、多层索引、混合索引))
- php+mysql+json android 连接wamp
- 解决 css 浮动后 父元素高度失效问题
- sql 语句美化工具
- 【Lingo 18.0及其安装教程】
- 【仿人机器人】机器人基础介绍
- fsearch:适用于linux的快速查找软件(类似everything)安装教程
- matlab 矩阵分解行满秩,matlab生成满秩矩阵
- Windows7或Windows10创建基于L2TP IPSEC客户端教程
- 学金融会python_大学生金融小白自学Python做量化投资需要注意哪些?
- 01 - C/C++中的字符串的最后一位是什么?
- 蓝牙常用的profile
- MATLAB画ROC曲线
热门文章
- rpc服务器不可用自动重启,出现RPC服务器不可用的解决方法
- EAS服务不可用或者更新一半中断解决方案
- AM、PM是上午和下午的英文缩写、英文缩写(英语星期月份等)
- SLA服务可用性4个9是什么意思?如何保证服务的高可用性 HA(High Availability)?...
- 中国数字化转型的未来与建议
- python爬取全球历年GDP数据
- 如何让自己成为一个优秀的Java架构师,而不是码农
- Matlab 绘图函数之plot、semilogx、semilogy、loglog函数的使用
- win 10连上wifi 无Internet 解决方法
- Netd 服务的 netd 套接字创建