如何解决用于检查列是否具有1-100作为值的案例声明
我有一列表示要选择的金额百分比。但是由于数据错误,我在同一列中有十进制值(数量)。我如何写大写字母以便仅选择数字(1-100)。如果它是从-1到100的数字,我可以继续计算余额百分比。
Ass-cd Ass-valu balance
P. 10. 3456
P. 300.23. 10000
A. 200. 800
P. 1. 6000
我将要加入的另一个表中有余额。
结果应该是balance
的x%或balance
的x值。
如果Ass-cd
是 P ,则我应该只使用1-100个数字作为百分比来进行进一步的计算。但是由于数据错误,该字段中包含十进制值。
解决方法
如果我对你的理解正确,那你会检查
where amount = trunc(amount)
and trunc(amount) between 1 and 100
这意味着amount
列中带有小数的行将被跳过。
You can use
select case when MOD(amount,1) = 0 then amount else 0 end as amount from <table Name> where amount != 0;
这将过滤出十进制记录。此外,您还可以在相同的sql中同样应用百分比。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。