我在neo4j关系的属性中存储了一个double(-0.1643)作为字符串(“-0.1643”)。
如果我尝试使用数字比较过滤此值:
MATCH (n1:Node)-[r:RELATION]-(n2:Node)
WHERE r.number < -0.1 RETURN n1, n2
Cypher抛出错误:
Don't know how to compare that. Left: "-0.1643" (String); Right: -0.1 (Double)
Neo.ClientError.Statement.InvalidSyntax
显然,我可以将数据存储为数值。但是有可能在密码中将字符串转换为double吗?类似的东西:
MATCH (n1:Node)-[r:RELATION]-(n2:Node)
WHERE as.double(r.number) < -0.1 RETURN n1, n2
答案 0 :(得分:6)
查看2.0.2版。它添加了类型函数,&#34; toInt,toFloat,toStr&#34;。它看起来像是不存在,但浮动对你来说可能是精确的吗?
答案 1 :(得分:2)
你可以用这个:
RETURN toFloat(&#34; 0.0125&#34;)