2014-11-21 62 views
0

我希望能夠看到一個數四捨五入爲0.0,然後只需將它設置爲一個整數SQL四捨五入和選擇

例如,如果事情四捨五入到10.0,然後我只是想將其設置爲10 。

我似乎無法找到一種方法來選擇小數點後的最後一個數字,以將其設置爲整數?

有沒有一個函數可以做到這一點的十進制數?

+3

您的數據庫是? – Mihai 2014-11-21 16:27:45

+1

你能減去整數部分,看看它是零嗎? – Beth 2014-11-21 16:29:26

+0

你想改變它的類型嗎? (從十進制到int?)否則,10.0 == 10. – paqogomez 2014-11-21 16:32:04

回答

0

要做到所有這些

UPDATE MyTable SET value1 = ROUND(Value1,0) 

只是做需要它

UPDATE MyTable SET value1 = ROUND(Value1,0) WHERE Value1 - cast(Value1 as int) > 0 
0

,並假設您正在使用SQL Server,我相信你的那些正在尋找FLOAT數據類型。

這裏有一個未解答的問題:你是否試圖存儲這個值,或者你是否試圖返回這個值?如果你想保存它,您需要更改存儲位置的數據類型,如:

ALTER TABLE MyTable ALTER COLUMN MyColumn FLOAT 

如果你想找回它,你可以使用一個CAST()聲明,就像這樣:

SELECT CAST(MyColumn AS FLOAT) AS MyConvertedColumn 
FROM MyTable 
0

我覺得下面的一個可能會對你有用。通過改變像浮點值驗證(3.178,3.568,3.789 ....)

DECLARE @i INT 
DECLARE @f FLOAT 
SET @f = 3.789 

SET @i = cast(@f AS INT) 
SELECT @i 

SET @i = ROUND(@f, 0) 
SELECT @i 

SET @i = FLOOR(@f) 
SELECT @i 

SET @i = CEILING(@f) 
SELECT @i 
0

DECLARE @a浮

SELECT @ A = 10.03

SELECT ROUND(@ A,1,0 )