-1

我有这样的查询

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

并像 URL 一样

url/?$filter=dates gt datetime'2012-10-26' and dates lt datetime'2012-10-27'

我通过使用这个得到了回应。

现在,我需要按时间获取,所以我将 URL 更改为

&$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'' 在 '20' 在 'LastModifiedDate ge datetime'2012-09-25 12:00:00''。"}}}

4

1 回答 1

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,即它不得包含时区偏移量。

date 表示在 dateTime 的时间线上恰好一天的顶部打开间隔,从每天的开始时刻开始,直到但不包括第二天的开始时刻)。对于非时区值,顶部打开间隔不连贯地覆盖非时区时间线,每天一个。对于时区值,间隔从每分钟开始,因此会重叠。

因此,您在这里想要的是DateTimeOffset

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

于 2014-04-24T12:55:46.853 回答