我必须在SQL中获得与Excel相同的结果。 Excel中的功能是:
=MAX(CEILING(((D2*B2))+1;10)-1;0)+0.99
我在SQL中尝试了以下内容并且查询有效,但结果不同:
IF ([CSV_COL(6)] > 1000,Round((ceiling([CSV_COL(6)] * 1.0354+6)+0.99)/1.14,2), Round((ceiling([CSV_COL(6)] * 1.070+6)+0.99)/1.14,2))
请注意:
CSV_COL (6) is Excel D2
1.0354 is Excel B2
1.14只是为了获得增值税Excel。
2是得到2位小数。
示例结果:
R1078.00 needs to floor or ceiling to R1079.99
or
R1063.24 needs to floor or ceiling to R1069.99
我基本上需要将上面的Excel查询转换为SQL格式,作为上面的当前SQL查询。
答案 0 :(得分:0)
因为SQL上限函数只是向上舍入到下一个整数,所以你必须使用除以10的解决方法,然后向上舍入,然后乘以10,例如当你的D2是1140时: -
select ceiling(1140 * 1.0354/10)*10-.01
结果
(No column name)
1189.99