select cast(round(6562.5,0) as int)
6563

解决方案 »

  1.   

    --不会啊,下面是我的电脑上的测试
    select round(4687.5,0),round(6562.5,0)--测试结果:
    ------- ------- 
    4688.0  6563.0(所影响的行数为 1 行)
      

  2.   

    楼主看一下说明,看是否你的参数用得不好?
    ROUND
    返回数字表达式并四舍五入为指定的长度或精度。语法
    ROUND ( numeric_expression , length [ , function ] ) 参数
    numeric_expression精确数字或近似数字数据类型类别的表达式(bit 数据类型除外)。length是 numeric_expression 将要四舍五入的精度。length 必须是 tinyint、smallint 或int。当 length 为正数时,numeric_expression 四舍五入为 length 所指定的小数位数。当 length 为负数时,numeric_expression 则按 length 所指定的在小数点的左边四舍五入。function是要执行的操作类型。function 必须是 tinyint、smallint 或 int。如果省略 function 或 function 的值为 0(默认),numeric_expression 将四舍五入。当指定 0 以外的值时,将截断 numeric_expression。返回类型
    返回与 numeric_expression 相同的类型。注释
    ROUND 始终返回一个值。如果 length 是负数且大于小数点前的数字个数,ROUND 将返回 0。示例 结果 
    ROUND(748.58, -4) 0 
    当 length 是负数时,无论什么数据类型,ROUND 都将返回一个四舍五入的 numeric_expression。示例 结果 
    ROUND(748.58, -1) 750.00 
    ROUND(748.58, -2) 700.00 
    ROUND(748.58, -3) 1000.00 
      

  3.   

    另外,检查一下,你的SQL有没有打补丁,如果没有,安装补丁SQL补丁:
    '全部补丁的位置
    http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=9032f608-160a-4537-a2b6-4cb265b80766'应该安装的补丁sql 2000 sp3
    http://download.microsoft.com/download/3/c/0/3c06f7e7-39f5-4dec-b295-a3849e348a39/chs_sql2kasp3.exe'for asp的补丁
    http://download.microsoft.com/download/3/c/0/3c06f7e7-39f5-4dec-b295-a3849e348a39/chs_sql2kasp3.exe'桌面版本的补丁
    http://download.microsoft.com/download/3/c/0/3c06f7e7-39f5-4dec-b295-a3849e348a39/CHS_SQL2KDeskSP3.exe
      

  4.   

    ROUND应该是四舍五入select round(4687.5,0),round(6562.5,0)
    --测试结果:
    ------- ------- 
    4688.0  6563.0(所影响的行数为 1 行)