java的长期持有SQL BIGINT(20)值吗?

时间:2015-07-27 15:19:17

标签: java sql bigint

我在SQL数据库中有一个表,其值为'数据类型是BIGINT(20),我需要将这些数据用Java中的逻辑进行处理。

java中用于存储返回的BIGINT(20)值的适当数据类型应该是什么?

(我想过使用Long,但也有BigInteger,不能找出什么是好的或合适的)

4 个答案:

答案 0 :(得分:3)

这取决于数据库服务器。 Java long始终实现为8个字节,因为它是标准的一部分。

在MSSQL上,bigint类型是8个字节,因此它是完美的匹配。

答案 1 :(得分:1)

BIGINT类型不是SQL标准的一部分,因此无法保证它在所有数据库中都能正常工作。但是,至少MSSQL,MySQL,Oracle,Postgresql和IBM DB2都同意它使用8个字节(其中大多数是有符号的,但在DB2中它是无符号的63位值)。

由于Java Long也是64位,所以应该可以正常工作。由于longs比BigIntegers快得多,所以你几乎肯定会使用long。

答案 2 :(得分:1)

MySQL BIGINT:最小值 (-2^63),最大值 (2^63-1)。最大无符号值 (2^64-1)。 https://dev.mysql.com/doc/refman/8.0/en/integer-types.html

Java Long:最小值 (-2^63),最大值 (2^63-1)。最大无符号值 (2^64-1)。 https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

所以,这两种类型的大小相同:)

答案 3 :(得分:0)

Long是大数据库Int的完美映射