比如: 
select power(12,10);出错,发生溢出,
  应如何转换呢?//如下提示:
消息 232,级别 16,状态 3,第 1 行
类型 int 发生算术溢出错误,值 = 61917364224.000000。

解决方案 »

  1.   

    select cast(power(12.0,10) as bigint)/*
    (无列名)
    61917364224
    */
      

  2.   

    如果,
      它超出了bigint 了,
      又用什么方法类型来存呢?一个项目中每条数据的主键都是 [GUID]类型的,我想计算它[GUID]占用多少硬盘容量。
      也就是:想取得服务器总共有多少条数据,
      数量必会超出bigint,
    那用什么类型才能装得下呢? 如果我用C# 语言,ado.net方法 ,这么大的数据,用什么C#变量来存呢?
      

  3.   

    int型对你来说小了,可使用bigint.
    int、bigint、smallint 和 tinyint
    使用整数数据的精确数字数据类型。bigint从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。int从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。smallint从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。tinyint从 0 到 255 的整型数据。存储大小为 1 字节。select cast(power(12.0,10) as bigint);/*
                         
    -------------------- 
    61917364224(所影响的行数为 1 行)
    */
      

  4.   

    bigint  最大值是 亿亿级的。你的数据有多大?
      

  5.   

    select cast(power(12.0,20) as  decimal(38,0))