目前我有一个定义为float的列(ex 16.98)我需要能够获取该值并找到5的下一个最高倍数。
示例......
Value 16.98 Should Return 17.00
Value 10.46 Should Return 10.50
Value 9.11 Should Return 9.15
Value 8.10 Should Return 8.10
Value 18.65 Should Return 18.65
请注意,如果is是5的倍数,那么它应该自行返回。
答案 0 :(得分:1)
SELECT Format((ceiling(cast(unitprice*100 as int)/5.0)*5.0)/100.0, 'g18')
From table
答案 1 :(得分:1)
如果您使用的是MySql,请尝试以下操作:
SELECT (ceiling(cast(val*100 as int)/5.0)*5.0)/100.0 from tbl;
<{1}}内的{p> tbl
非常有用 - 它可以消除舍入错误。
在SQL SERVER中:
position: absolute
{{1}}包含要转换的值。
答案 2 :(得分:1)
试试这个:
SELECT
CEILING(16.98 * 20) / 20,
CEILING(10.46 * 20) / 20,
CEILING(9.11 * 20) / 20,
CEILING(8.10 * 20) / 20,
CEILING(18.65 * 20) / 20
所以查询看起来像:
SELECT CEILING(yourColumn * 20) / 20 AS Result FROM yourTable;