我们想与获取当今或今天的所有数据有关过滤条件。我们正在尝试以下代码,但我们正在遇到错误。请提供需要完整的解决方案。
$filter=ServiceCallID eq 425977 and DateCreated eq '11/28/2016 12:45:25 PM'
错误是"运算符EQ"与操作数类型'System.DateTime'和" System.String"的位置40。"。我们正在使用ODATA的V2版本。
我相信您需要将参数定义为DateTime
。您会得到错误,因为.NET将您的参数解释为string
,但是类型为DateTime
。
来自odata.org:
datetime'yyyy-mm-ddthh:mm [:ss [.ffffffff]]'注意:不允许空格 在DateTime和引用部分之间。DateTime是不敏感的
尝试以下操作:
$filter=ServiceCallID eq 425977 and DateCreated eq datetime'2016-11-18T12:45:25'
请注意,我还将格式更改为YYYY-MM-dd
。您可能还需要将eq
更改为gt
或lt
,具体取决于您的定义。
因此,您的最终解决方案可能是greater or equal to 2016-11-18
。和less than 2016-11-19
。它应该在2016-11-18期间提供所有项目。
$filter=ServiceCallID eq 425977 and DateCreated ge datetime'2016-11-18' and DateCreated lt datetime'2016-11-19'