从数据库中提取错误的值

extracting wrong value from database

我正在向 10 位数字的数据库中插入一个长值。 (例如:9876543219)。它正确地将值保存在数据库中。但是当我尝试从数据库中提取数据时,我得到了一个不同的数字,比如 (1286608627)。

注意:如果数字小于 10 位,一切正常。

我正在使用以下代码从数据库中获取数据:

int getmyNumber = ((BigDecimal) TTRefermap.get("GET_MY_NUMBER")).intValue();

我可以在数据库中看到 getMyNumber 的值:9876543219(如预期)。

使用

long getmyNumber = ((BigDecimal) TTRefermap.get("GET_MY_NUMBER")).longValue();

因为整数范围只有2^31-1

或者您可以将其转换为 BigInteger,如下所示:

BigInteger getmyNumber = ((BigDecimal) TTRefermap.get("GET_MY_NUMBER")).toBigInteger();