我的查询应根据特定条件显示一些数据。
显示数据时,我的查询中包含以下条件:
cast(percentage as float)/100 < 0.50)
这应该给我的价值低于50%。
然而,当执行查询时,它给出了像95,100这样的值...但是从不给我小于0.50,即使我在查询中指定了条件。
当从表中进行单一选择以检查那里有什么值时,我得到0.95:
select cast(percentage as float)/100 from table1 where id ='1111'
我做错了什么?什么是解决方案?
这是我的where
条款:
WHERE msystem = '111'
AND (
(code = '2222' AND cast(percentage as float)/100 < 0.50)
OR (code = '3333')
)
答案 0 :(得分:0)
这段代码:
(code = '2222' AND cast(percentage as float)/100 < 0.50)
OR (code = '3333')
第二段 OR(代码=&#39; 3333&#39;)允许大于0.50的结果
您现在编写where子句的方式会向您显示任何包含代码=&#39; 3333&#39;并且只有代码=&#39; 2222&#39;小于0.50