密码中的大整数,neo4j

问题描述 投票:0回答:2

我有一个带有一些十六进制整数的数据集,如'4726E440'。我想将这些数字添加为节点的属性。如果我执行:

CREATE({id:to Int(“4726E440”)});

neo4j给了我这个错误:

整数,4726E440,太大了

有没有办法处理这种整数(除了将它们保存为字符串)?

neo4j cypher long-integer
2个回答
1
投票

不是100%肯定,但这看起来像你正在尝试将持有浮点数4724 * 10 ^ 440的字符串转换为int值。那显然太大了。

如果你想使用十六进制文字,你需要在它们前加上0x,例如:

return toInt(0x4726E440)

返回1193731136 - 所以它仍在范围内。


0
投票

如果您想知道Neo4J中数字大小的实际限制是多少,this论坛帖子可能会让您感兴趣。

基本上,Neo4J使用带有最大2**63 - 1的带符号64位整数。目前似乎无法增加此限制,如果您真的需要存储此大小的数字,则必须使用字符串或字节列表。

© www.soinside.com 2019 - 2024. All rights reserved.