查询到URL转换

时间:2014-04-24 06:32:42

标签: c# android sql odata odata4j

我有这样的查询

select * from xxx where dates between '2012-10-26' and '2012-10-27'.

并按照

这样的网址进行操作
url/?$filter=dates gt datetime'2012-10-26' and dates lt datetime'2012-10-27'

我正在使用这个回复。

现在,我需要获取时间,因此我将网址更改为

&$filter=LastModifiedDate+ge+datetime'2012-09-25 23:59:59'

但是我收到了一个错误:

  

{“odata.error”:{“code”:“”,“message”:{“lang”:“en-US”,“value”:“无法识别的'Edm.DateTime'字面数'datetime'2012- 09-25 12:00:00''在'LastModifiedDate ge datetime'2012-09-25 12:00:00''''''20''。}}}}

1 个答案:

答案 0 :(得分:0)

简短回答

dateTimeOffsetValue = year "-" month "-" day "T" hour ":" minute [ ":" second [ "." fractionalSeconds ] ] ( "Z" / sign hour ":" minute )

示例:2000-01-01T16:00:00.000Z


  

edm:Date表达式计算为原始日期值。一个约会   表达式必须赋值为xs:date的值,参见   [XML-Schema-2],第3.3.9节。值必须符合规则   [OData-ABNF]中的dateValue,即它不能包含时区   偏移量。

  

日期代表完全一天的最开放间隔   dateTime的时间表,从每天的开始时刻开始,   最多但不包括第二天的开始时刻)。对于   非时间值,顶部开放的间隔不相交地覆盖   非时间化时间线,每天一个。对于timezoned值,   间隔从每分钟开始,因此重叠。

因此,您想要的是DateTimeOffset

  

edm:DateTimeOffset表达式求值为原始日期/时间   具有时区偏移的值。必须分配日期/时间表达式   xs:dateTimeStamp类型的值,参见[XML-Schema-2],第3.4.28节。   值必须符合规则dateTimeOffsetValue in   [OData-ABNF],即它不得包含一个日终片段   (24:00:00)。