Neo4j:Cypher – Neo.ClientError.Statement.TypeError:不知道如何添加Double和String
生活随笔
收集整理的这篇文章主要介绍了
Neo4j:Cypher – Neo.ClientError.Statement.TypeError:不知道如何添加Double和String
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
我最近将支持Neo4j的应用程序从Neo4j 3.2升级到Neo4j 3.3,发现围绕类型强制的行为发生了有趣的变化,导致我的应用程序抛出了很多错误。
在Neo4j 3.2和更早版本中,如果将String添加到Double,它将把Double强制转换为String并连接值。 因此,以下内容将是有效的Cypher:
RETURN toFloat("1.0") + " Mark"╒══════════╕ │"result" │ ╞══════════╡ │"1.0 Mark"│ └──────────┘此行为在3.3系列中已更改,并且将引发异常:
RETURN toFloat("1.0") + " Mark"Neo.ClientError.Statement.TypeError: Don't know how to add `Double(1.000000e+00)` and `String(" Mark")`我们可以通过强制查询在3.2模式下运行来解决此问题:
CYPHER 3.2 RETURN toFloat("1.0") + " Mark" AS result或者我们可以在Cypher语句中将Double转换为String:
RETURN toString(toFloat("1.0")) + " Mark" AS result翻译自: https://www.javacodegeeks.com/2018/03/neo4j-cypher-neo-clienterror-statement-typeerror-dont-know-how-to-add-double-and-string.html
总结
以上是生活随笔为你收集整理的Neo4j:Cypher – Neo.ClientError.Statement.TypeError:不知道如何添加Double和String的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: lucene使用3.0.3_使用Apac
- 下一篇: eventbus多个订阅_番石榴的Eve