odata筛选器datetimeoffset小于该日期

lrpiutwd  于 2021-07-26  发布在  Java
关注(0)|答案(3)|浏览(341)

我正在尝试检索特定日期之前的所有记录,如下所示:

?$filter=CreatedDate lt '2020-06-04T14:27:12.38'

但我一直收到这个错误
“message”:“uri中指定的查询无效。检测到类型不兼容的二进制运算符。找到运算符类型“大于”的操作数类型“edm.datetimeoffset”和“edm.string”,
我试着去约会

?$filter=CreatedDate lt cast('2020-06-04T14:27:12.38', Edm.DateTimeOffset))

但还是一样。
也试过了

?$filter=CreatedDate lt datetime'2020-06-04T14:27:12.38'

收到
uri中指定的查询无效。“createddate gt datetime”1995-09-01t00:00:00“”中“21”处无法识别的“edm.string”literal“datetime”1995-09-01t00:00:00“”。
有没有办法做到这一点?

cedebl8k

cedebl8k1#

一个快速的谷歌搜索引导我找到这个答案,所以试试看 ?$filter=CreatedDate lt datetime'2020-06-04T14:27:12.38'

0md85ypi

0md85ypi2#

您必须查询没有引号的日期。我的应用程序示例:

http://localhost/EDS4OData/EmployeeHoursVacationRequests?$filter=(Username eq 'jsmith' and DeleteInd eq false and DayOffType eq 2 and StartDate ge 2020-10-01T00:00:00.000Z and StartDate le 2020-12-31T23:59:59.999Z)&$count=true

在控制器的c#模型中:

public DateTime StartDate { get; set; }
hrysbysz

hrysbysz3#

我设法让它这样工作: ?$filter=CreatedDate lt 2021-03-19T12:50:54.219Z 检查以下答案:https://stackoverflow.com/a/27775965/3264998

相关问题