读书人

int 溢出解决方法

发布时间: 2012-03-24 14:00:46 作者: rapoo

int 溢出
比如:

SQL code
select power(12,10);


出错,发生溢出,
应如何转换呢?

//如下提示:
C# code
消息 232,级别 16,状态 3,第 1 行类型 int 发生算术溢出错误,值 = 61917364224.000000。


[解决办法]
超出了int类型的最大值了
[解决办法]
select power(12.0,10);
[解决办法]
SQL code
select cast(power(12.0,10) as bigint)/*(无列名)61917364224*/
[解决办法]
探讨

SQL code


select cast(power(12.0,10) as bigint)

/*
(无列名)
61917364224
*/

[解决办法]
探讨
比如:

SQL code
select power(12,10);


出错,发生溢出,
应如何转换呢?

//如下提示:

C# code
消息 232,级别 16,状态 3,第 1 行
类型 int 发生算术溢出错误,值 = 61917364224.000000。

[解决办法]
探讨

如果,
它超出了bigint 了,
又用什么方法类型来存呢?

一个项目中每条数据的主键都是 [GUID]类型的,我想计算它[GUID]占用多少硬盘容量。
也就是:想取得服务器总共有多少条数据,
数量必会超出bigint,
那用什么类型才能装得下呢?

如果我用C# 语言,ado.net方法 ,这么大的数据,用什么C#变量来存呢?

[解决办法]
bigint 最大值是 亿亿级的。你的数据有多大?
[解决办法]
select cast(power(12.0,20) as decimal(38,0))

读书人网 >SQL Server

热点推荐