当我想要从表中舍入到特定的批量大小时,如何在sql中舍入。因此,如果需要的是51但是我的手数是50,我希望它以100回来。
答案 0 :(得分:0)
您是否尝试过使用案例陈述? Select CASE WHEN Lot < 50 THEN Lot ELSE 100 END FROM YourTable
这只有在你有几个不同的四舍五入选择时才会起作用,过多的案例陈述需要花费很多时间
答案 1 :(得分:0)
我假设“批量大小”是列字段名称?如果是这样,IF语句可能就是你想要的。一个简单的例子如下
SELECT IF (lot_size > 49, 100, lot_size) AS lot_size FROM table_name
答案 2 :(得分:0)
SELECT 50*CEIL(qty / 50) AS RoundedQty FROM table_name
或如果您有lot_size
列:
SELECT lot_size*CEIL(qty / lot_size) AS RoundedQty FROM table_name
答案 3 :(得分:0)
如果你想要四舍五入到最接近的50,那么1 - &gt; 50,48 - &gt; 50,51 - &gt; 100,87 - &gt; 100,等等,然后
select ((@number div 50) + 1) * 50
用替换你想要的值代替@number。