gpt4 book ai didi

java - 在准备好的语句中将负 java long 转换为 clickhouse Uint64

转载 作者:行者123 更新时间:2023-12-02 01:17:53 33 4
gpt4 key购买 nike

有没有办法在插入之前将负 long 转换为 Uint64(clickhouse 数据类型)。目前

preparedStatement.setObject(columnNumber, -3108819769473315784);
preparedStatement.execute();

抛出以下异常

ru.yandex.clickhouse.except.ClickHouseException: ClickHouse exception, code: 321, host:
localhost, port: 33493; Code: 321, e.displayText() = DB::Exception: Expression returns value
NULL, that is out of range of type UInt64, at: -3108819769473315784

我明白为什么 clickhouse 会提示。您能建议我任何解决方案来克服这个问题吗?可能有什么方法可以将这个负 long 转换为其他类型的对象吗?预先感谢您。

最佳答案

从 Java 8 开始,您可以使用 Long.toUnsignedString(values) :

preparedStatement.setObject(columnNumber, Long.toUnsignedString( -3108819769473315784));

关于java - 在准备好的语句中将负 java long 转换为 clickhouse Uint64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58236136/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com