会不会filesize数值太大了呢.换成别的数据类型看看.

解决方案 »

  1.   

    是啊
    基本类型可以加个BIG
      

  2.   

    select   cas(tsum(db.filesize) as varchar(8000)) AS  filecount  from dbs
      

  3.   

    sorry,是select   cast(sum(db.filesize) as varchar(8000)) AS  filecount  from dbs
      

  4.   

    convert(varchar(1000),sum(db.filesize) )
      

  5.   

    两个答案还是不行啊
    将 expression 转换为数据类型 int 时发生算术溢出错误。
      

  6.   

    sum(db.filesize) 估算有 10000000000
      

  7.   


    sum(CAST(db.filesize AS NUMERIC(25,0))
      

  8.   

    10000000000 是bit还是byte还是M
    不能先换算成大单位再sum吗?比如sum(db.filesize/1024/1024)
    联机帮助:使用 bigint 数据类型存储从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 范围内的数字。存储大小为 8 个字节。int 数据类型的存储范围是 -2,147,483,648 至 2,147,483,647(每个值需 4 个字节的存储空间)。smallint 数据类型的存储范围只有 -32,768 至 32,767(每个值需 2 个字节的存储空间),tinyint 数据类型只能存储 0 至 255 范围内的数字(每个值需 1 个字节的存储空间)。