刚才同事问我资源容量有多大,自己得意的写了一句sql,但是贼打脸。报个大BUG
select sum(sourcesize) from T_Source
消息 8115,级别 16,状态 2,第 2 行
将 expression 转换为数据类型 int 时出现算术溢出错误。
查了一下,网上说转换为bigint 也有写的转换为 decimal 和float 试了一下,确实好使。
bigint:从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。
decimal:数字型,128bit,不存在精度损失,常用于银行帐目计算。(28个有效位)
double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位)
float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位
我自己转换成了decimal 格式 :
select sum(sourcesize) from T_Source
之后除以1024进制得到了资源总体的大小
参考文档:
1.http://www.studyofnet.com/news/214.html
2.http://bbs.csdn.net/topics/350111462