select cast(21 as decimal(10,1))/11 as aaa

解决方案 »

  1.   

    SQL中,整数相除的结果依然是整数,所以21/11的结果当然是整数,用数据类型转换就可以了.
      

  2.   

    --或者:select 21*1.0/11 as aaa
      

  3.   

    不对21或11这样的整型做转换,比如说float型
    肯定得不到你想要的结果
      

  4.   

    整数计算的结果仍然是整数,这是SQL的规定所以不改的话,不能解决问题.
      

  5.   

    直接改公式不就行了或者:
    select 1.0*21/11 as aaa
      

  6.   

    这是SQL的臭虫吗?   我需要他可以在结果进行处理啊 晕死....  
    或者有哪位大侠有现成的表达式计算函数,在下也将感激不尽,分也照给....
      

  7.   

    风云:
    你的办法不行啊,如果换成select 1.0*21+21/11 as aaa就不行了 解决不了问题啊。
      

  8.   

    select cast(21 as real)/cast(11 as real) as aaa结果:
    aaa
    1.9090909
      

  9.   

    服务器: 消息 195,级别 15,状态 10,行 1
    'evaluate' 不是可以识别的 函数名。
    这个根本就不是sql server的东西