[英]How to cast a property of type Edm.String to numeric in Odata V2
我正在查询 Odata V2 服务。 实体 Foo 具有类型为 Edm.String 的属性 Bar。 Bar 是以毫秒为单位的时间,遗憾的是,它被定义为一个字符串。 例如“1597091642312”。
如何查询 Foo 以获取 Bar 仅在特定时间点之后的结果?
我试着投射,像这样:
/Bar?$filter=cast(Foo,Edm.Int64) gt 631148400000
但后来我得到:
不支持功能:$filter 或 $orderby 查询选项中的表达式“5”
特别是“5”对我来说没有意义。
提供服务是 SAP CAP CDS 模拟服务,使用 V4 到 V2 代理。
好的,看来您可以这样做:
/Bar?$filter=Foo gt '631148400000'
并且不需要演员表。 我假设 gt 是按字母数字应用的,如果它是按数字应用的,效果是一样的吗?
但是,当使用时间戳 631148400000 时,我没有得到任何结果(这将我推向 String 成为问题的方向)。 我确实得到了具有更新时间戳的结果(2019 年或 2020 年)。
我不确定这是 Odata V2 问题,还是我的 SAP CDS 模拟服务的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.