在SQL Server中只获取浮点数的小数部分

时间:2012-08-26 10:03:30

标签: asp.net sql-server sql-server-2008

我在SQL Server 2008中有以下编号:5.4564556
我只想从5.4564556获得4564556 如果我只能得到4564556中的4个是小数部分的第一个数字,那会更好。

我该怎么做?

由于

5 个答案:

答案 0 :(得分:8)

您可以尝试这种方式:

SELECT (5.4564556 % 1)

答案 1 :(得分:7)

您还可以使用FLOOR()

SELECT Value - FLOOR(Value)

在你的情况下:

  

5.4564556 - 5 = 0.4564556

如果是负值,您可以使用ABS

SELECT ABS(Value) - ABS(FLOOR(Value))

答案 2 :(得分:5)

要获得“。”后面的所有数字,您可以(ab)使用PARSENAME

select PARSENAME(5.4564556,1)

返回4564556

另请参阅SQL - How do I get only the numbers after the decimal?

答案 3 :(得分:2)

试试这个

 select cast(5.4564556 % 1 * 10 as int)

答案 4 :(得分:2)

你可以通过以下方式获得前四位小数:

select SUBSTRING (PARSENAME(5.4564556,1), 1, 4)