小,
count(*)
sql返回的列的类型是什么?
count(*)
列可以返回的最大值是什么?
详细说明:
我有数百万条记录的数据库,如果我使用count(*)
,那么我很想知道哪些类型在该列中返回,MySQL有Integer Types的不同类型在count(*)
中返回的类型列,以便我知道该列可以给出的最大值。
我正在使用java程序以分页的方式遍历整个数据库,所以我想知道有多少条记录,如果有数十亿条记录,那么我会被count
限制在一些较高的值。< / p>
答案 0 :(得分:1)
count(*)sql返回的列的类型是什么?
是BIGINT。
来自manual:
返回行中expr的非NULL值的数量 由SELECT语句检索。 结果是BIGINT值。
count(*)列可以返回的最大值是什么?
BigInt的范围是 -9223372036854775808 到 9223372036854775807 ,这足以容纳您的表格值。
答案 1 :(得分:0)
我试图使用JpaRepository
从MariaDB表中检索最后一条记录,返回的值为BigInteger
,因此必须在服务层中将返回类型更改为BigInteger
我们可以根据需要使用.longValue()
将其转换为Long。
`@Query(value = "SELECT max(id) FROM inventory", nativeQuery = true)`
`Optional<Long> getLastFileSequenceNumber()`
更改为:
`@Query(value = "SELECT max(id) FROM inventory", nativeQuery = true)`
`Optional<BigInteger> getLastRecord()`
在服务层:
getLastRecord().get().longValue()