我的捐款表如下:
id int
donation smallmoney
... other columns ...
我希望运行一个报告,仅选择捐赠金额在“分数”中为非零的行。部分领域。例如,如果一行捐赠了12.66,那么我想要选择那一行。但如果该行捐赠了12.60,那么我会跳过那一行。
这样的查询是否可能?我一直在谷歌搜索没有运气。
感谢专家!
答案 0 :(得分:4)
您也可以使用模数运算符。
select * from table
where (donation * 100.00) % 100 != 0
答案 1 :(得分:2)
这是一个相当简单的方法:
select t.*
from table t
where donation <> cast(donation as int)
这会将捐赠转换成一个整数,从而消除分数。如果价值相等,那么原始捐赠就没有分数。如果他们不平等,那么美分领域就会有一些东西。
编辑:
自从我回答后,问题发生了变化。以上是所有分数为零的最简单。它很容易修改为最后一位数字:
select t.*
from table t
where donation * 10 <> cast(donation * 10 as int)