我希望能够看到一个数四舍五入为0.0,然后只需将它设置为一个整数SQL四舍五入和选择
例如,如果事情四舍五入到10.0,然后我只是想将其设置为10 。
我似乎无法找到一种方法来选择小数点后的最后一个数字,以将其设置为整数?
有没有一个函数可以做到这一点的十进制数?
我希望能够看到一个数四舍五入为0.0,然后只需将它设置为一个整数SQL四舍五入和选择
例如,如果事情四舍五入到10.0,然后我只是想将其设置为10 。
我似乎无法找到一种方法来选择小数点后的最后一个数字,以将其设置为整数?
有没有一个函数可以做到这一点的十进制数?
要做到所有这些
UPDATE MyTable SET value1 = ROUND(Value1,0)
只是做需要它
UPDATE MyTable SET value1 = ROUND(Value1,0) WHERE Value1 - cast(Value1 as int) > 0
,并假设您正在使用SQL Server,我相信你的那些正在寻找FLOAT
数据类型。
这里有一个未解答的问题:你是否试图存储这个值,或者你是否试图返回这个值?如果你想保存它,您需要更改存储位置的数据类型,如:
ALTER TABLE MyTable ALTER COLUMN MyColumn FLOAT
如果你想找回它,你可以使用一个CAST()
声明,就像这样:
SELECT CAST(MyColumn AS FLOAT) AS MyConvertedColumn
FROM MyTable
我觉得下面的一个可能会对你有用。通过改变像浮点值验证(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
DECLARE @a浮
SELECT @ A = 10.03
SELECT ROUND(@ A,1,0 )
您的数据库是? – Mihai 2014-11-21 16:27:45
你能减去整数部分,看看它是零吗? – Beth 2014-11-21 16:29:26
你想改变它的类型吗? (从十进制到int?)否则,10.0 == 10. – paqogomez 2014-11-21 16:32:04