首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

为什么这句查询不行?解决思路

2012-02-11 
为什么这句查询不行?有张表a,数据如下:sb5069260295要求是b字段比s字段多60%的列出来select*fromawhereb

为什么这句查询不行?
有张表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)

[解决办法]
因为两个整数的商依然是一个整数, 60/100 得到的结果是一个整数,即0。

改成这样:60.0/100


[解决办法]
select * from a where b> s*(1+60.0/100.0)

[解决办法]
上面错了

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

热点排行