SQL中bigint类型 为什么存进去的是负数?
4个回答
展开全部
不是数据类型的问题,bigint存储从-2^63
(-9223372036854775808)到2^63-1(9223372036854775807)
范围内的数字。存储大小为
8
个字节。但是在你取值的时候,因为数据类型是bigint的,程序会自动把你数据转换成int类型,你的数据106594712998的范围超出int的最大范围,所以程序会自动截取,最后出现-779469402。所以在获取值的时候应该改为:result.getLong()取值。
(-9223372036854775808)到2^63-1(9223372036854775807)
范围内的数字。存储大小为
8
个字节。但是在你取值的时候,因为数据类型是bigint的,程序会自动把你数据转换成int类型,你的数据106594712998的范围超出int的最大范围,所以程序会自动截取,最后出现-779469402。所以在获取值的时候应该改为:result.getLong()取值。
展开全部
不是数据类型的问题,bigint存储从-2^63
(-9223372036854775808)到2^63-1(9223372036854775807)
范围内的数字。存储大小为
8
个字节。但是在你取值的时候,因为数据类型是bigint的,程序会自动把你数据转换成int类型,你的数据106594712998的范围超出int的最大范围,所以程序会自动截取,最后出现-779469402。所以在获取值的时候应该改为:result.getLong()取值。
(-9223372036854775808)到2^63-1(9223372036854775807)
范围内的数字。存储大小为
8
个字节。但是在你取值的时候,因为数据类型是bigint的,程序会自动把你数据转换成int类型,你的数据106594712998的范围超出int的最大范围,所以程序会自动截取,最后出现-779469402。所以在获取值的时候应该改为:result.getLong()取值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是数据类型的问题,bigint存储从-2^63
(-9223372036854775808)到2^63-1(9223372036854775807)
范围内的数字。存储大小为
8
个字节。但是在你取值的时候,因为数据类型是bigint的,程序会自动把你数据转换成int类型,你的数据106594712998的范围超出int的最大范围,所以程序会自动截取,最后出现-779469402。所以在获取值的时候应该改为:result.getLong()取值。
(-9223372036854775808)到2^63-1(9223372036854775807)
范围内的数字。存储大小为
8
个字节。但是在你取值的时候,因为数据类型是bigint的,程序会自动把你数据转换成int类型,你的数据106594712998的范围超出int的最大范围,所以程序会自动截取,最后出现-779469402。所以在获取值的时候应该改为:result.getLong()取值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字),存储大小为 8 个字节。 在支持整数值的地方支持 bigint 数据类型,但是,bigint 用于某些特殊的情况,当整数值超过 int 数据类型支持的范围时,就可以采用 bigint。 在 SQL Server 中,int 数据类型是主要的整数数据类型。 在数据类型优先次序表中,bigint 位于 smallmoney 和 int 之间。 只有当参数表达式是 bigint 数据类型时,函数才返回 bigint,SQL Server 不会自动将其它整数数据类型(tinyint、smallint 和 int)提升为 bigint。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询