分享

OData基本的数据库查询(一)

 AS400r 2017-07-27
 本帖最后由 katherinebai 于 2016-8-10 17:27 编辑

上节中我们介绍了活字格可以使用OData进行数据查询,并且提供了四种方式,那么OData参数该怎么写呢?本节主要介绍最基本的数据库查询使用到的OData语法。

为了简单起见,我以URL方式通过示例介绍下其语法。假设数据库中存在一张人员表如下:

基于这张表可以进行以下查询:

1. 获取人员表中的所有数据。
  1. http://.../OData/GetData/人员
复制代码
2. 单主键表中通过主键ID获取人员表中ID等于1的行数据,列名可以省略。
  1. http://.../OData/GetData/人员(1)
复制代码
3. 多主键表中通过主键OrderID和ProductID获取OrderDetails表中的OrderID等于10000并且ProductID等于17的行数据,列名不能省略。
  1. http://.../OData/GetData/OrderDetails(OrderID=10000,ProductID=17)
复制代码
4. 获取人员表中ID等于1的姓名,返回一个对象,比如[{"姓名":"张三"}]。
  1. http://.../OData/GetData/人员(1)/姓名
复制代码
5. 获取人员表中ID等于1的姓名,返回一个值,比如"张三"。
  1. http://.../OData/GetData/人员(1)/姓名/$value
复制代码
6. 通过filter查询人员表中年龄大于20的员工数据。
  1. http://.../OData/GetData/人员?$filter=年龄 gt 20
复制代码
7. 多条件查询。查询人员表中姓名中包含"张"字并且年龄大于20的记录。
  1. http://.../OData/GetData/人员?$filter=contains(姓名, '张') and 年龄 gt 20
复制代码
8. 关于时间的查询。查询出差表中申请日期大于或等于2010年9月20号的出差单。
  1. http://.../OData/GetData/出差?$filter=申请日期 ge 2010-09-20
复制代码
9. 获取人员表中所有行的姓名和年龄字段的数据。
  1. http://.../OData/GetData/人员?$select=姓名,年龄
复制代码
10. 获取人员表中的所有数据。select=*可以省略。
  1. http://.../OData/GetData/人员?$select=*
复制代码


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多