2016-04-27 81 views
0

我在这件事上很难找到细节。我使用Sharepoint 2010并使用REST获取我的数据。我想使用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”运营商与“系统不兼容.String'和'System.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 

有人会理解它是这样做吗?

回答

0

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

幸运的是,您已将日期字符串格式化为使得它们的字母顺序与其时间顺序很好地对应。

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

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

+0

嗯,非常感谢你的伎俩! –