2014-11-21 51 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 )