欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Neo4j:Cypher – Neo.ClientError.Statement.TypeError:不知道如何添加Double和String

发布时间:2023/12/3 编程问答 52 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。