繁体   English   中英

如何在 Odata V2 中将 Edm.String 类型的属性转换为数字

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM