Orientdb 在orient db中,如何将十进制值四舍五入
在orientdb中,我有一个问题的示例查询Orientdb 在orient db中,如何将十进制值四舍五入,orientdb,Orientdb,在orientdb中,我有一个问题的示例查询 select eval('((23 + 46) * 1.0 ) / 2') as abc from SomeClass 上面的查询返回34.5,我想把它四舍五入到35。我申请了asInteger(),但没有成功 select eval('((23 + 46) * 1.0 ) / 2').asInteger() as abc from SomeClass 上面的查询返回34,但我希望它是35,我不知道是否有一些本机函数可以实现这一点 但是您
select eval('((23 + 46) * 1.0 ) / 2') as abc from SomeClass
上面的查询返回34.5,我想把它四舍五入到35。我申请了asInteger(),但没有成功
select eval('((23 + 46) * 1.0 ) / 2').asInteger() as abc from SomeClass
上面的查询返回34,但我希望它是35,我不知道是否有一些本机函数可以实现这一点 但是您可以使用Studio创建一个javascript函数,例如ceil 在身体里做工作 尝试插入此函数
insert into OFunction set name = 'ceil', language = 'javascript', code = 'return Math.ceil(num);', parameters = ["num"]
然后
select ceil(eval('((23 + 46) * 1.0 ) / 2'))
由于此函数不是现成的,因此您可以定义自己的函数(打开Studio->Functions tab),其名称为“round”,使用以下代码获取1个参数“value”:
return java.lang.Math.round(value);
然后,您可以使用以下命令从SQL调用它:
select round(value) as abc from SomeClass
其中value是SomeClass类中的属性。当您添加0.5并调用.asInteger()时,您还可以执行某种取整操作。