我有這樣的查詢來收集我的存盤程序
DECLARE @number int;
SET @number = 918750;
select @number (100 - @number % 100 )
這是回傳 918800
回傳正確 918,800
但如果@number = 918800,它會變成918900。
我只希望最后一位數字四舍五入。
我可以只將其更改為單個查詢嗎?
是的,如果我使用
SELECT ROUND(918750 , -2) AS RoundValue;
它回傳 918800,但如果我使用
SELECT ROUND(918740 , -2) AS RoundValue;
它回傳 918700,而我需要的總是向上取整,所以我需要的結果是 918000
uj5u.com熱心網友回復:
如果您使用的是 Oracle、MySQL 和 PostgreSQL 中的任何一個,則可以使用ROUND()函式。
像這樣
SELECT ROUND(918750 , -2)
此查詢將產生 918800 結果。-2表示最后兩位數字四舍五入。
uj5u.com熱心網友回復:
嘗試這個
DECLARE @number int;
SET @number = 918750;
// Solution 1
select @number -(@number % 100) iif(@number%100!=0,100,0);
//Solution 2
select ceiling(@number/100.00)*100;
uj5u.com熱心網友回復:
試試這個
DECLARE @Number INT = 435667
SELECT CONVERT(INT, 100 * ROUND(@Number / 100.0, 0))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/343362.html
上一篇:折扣率、公式
