代码之家  ›  专栏  ›  技术社区  ›  Daniel Ellison

REST-单行文本列上的日期范围筛选器

  •  0
  • Daniel Ellison  · 技术社区  · 8 年前

    我很难找到这方面的细节。我使用Sharepoint 2010和REST来获取我的数据。我想使用REST查询日期范围:

    http://localhost/_vti_bin/listdata.svc/TEST?$filter=(Column2 ge datetime'2016-04-06') and (Column2 lt datetime'2016-04-09')
    

    但我遇到了一个错误:

    Opérateur 'ge' incompatible avec les types d'opérande 'System.String' et 'System.DateTime' à la position 20.
    

    对不起,它是法语的,但大致翻译为“ge”运算符与“System”不兼容。字符串“et”系统。DateTime类型。

    这是我的列的一个例子,它们都是单行文本列。

    Column1    Column2             Column3
    BLah       2016-04-01 16:00    Blah1
    Blahs      2016-04-02 16:00    Blahs2
    Blhass     2016-04-03 16:00    Blahss3
    Blhasss    2016-04-06 16:00    Blhasss4
    sBlah      2016-04-08 16:00    sBlah5
    ssBlah     2016-04-08 16:00    ssBlah6
    sssBlah    2016-04-09 16:00    sssBlah7
    

    有人能理解它这样做吗?

    1 回复  |  直到 8 年前
        1
  •  0
  •   Thriggle    8 年前

    它抱怨的原因是,您使用的格式只适用于比较实际的日期字段;列表中的字段是单行文本字段。

    幸运的是,您已经将日期字符串的格式设置为字母顺序与时间顺序很好地对应。

    因此,只要不尝试将比较值转换为日期时间,就可以执行相同的筛选逻辑来检索项目范围;把它们留作字符串。

    $filter=(Column2 ge '2016-04-06') and (Column2 lt '2016-04-09')