簡體   English   中英

Sql查詢中的四舍五入數字整數

[英]Round Up Number Integer in Sql Query

我有這樣的查詢來收集我的存儲過程

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

如果您使用的是 Oracle、MySQL 和 PostgreSQL 中的任何一個,則可以使用ROUND()函數。

像這樣

選擇回合(918750 , -2)

此查詢將產生 918800 結果-2表示最后兩位數字四舍五入。

嘗試這個

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;

試試這個

DECLARE @Number INT = 435667
SELECT CONVERT(INT, 100 * ROUND(@Number / 100.0, 0))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM