有张表a,数据如下:
  s         b
  50       69
  260      295要求是b字段比s字段多60%的列出来
select * from a where b>s*(1+0.6)但如果用下面的为什么不行?select * from a where b>s*(1+60/100)

解决方案 »

  1.   

    select * from a where b>s*(1+60.0/100.0)
      

  2.   

    一楼正解,如果你想两个整数相除留小数位,把除数和被除数中一个转换为float型或其他浮点类型;例如:
    select * from a where b>s*(1+(cast 60 as varchar)/100)
      

  3.   

    上面错了一楼正解,如果你想两个整数相除留小数位,把除数和被除数中一个转换为float型或其他浮点类型;例如:
    select * from a where b>s*(1+(cast 60 as float)/100)