6

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

我该怎么做?

谢谢

4

5 回答 5

12

你可以这样尝试:

SELECT (5.4564556 % 1)
于 2012-08-26T10:05:37.773 回答
11

您还可以使用FLOOR()

SELECT Value - FLOOR(Value)

在你的情况下:

5.4564556 - 5 = 0.4564556

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

SELECT ABS(Value) - ABS(FLOOR(Value))
于 2012-08-26T10:07:40.220 回答
5

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

select PARSENAME(5.4564556,1)

返回 4564556

另请参阅SQL - 如何仅获取小数点后的数字?

于 2012-08-26T10:10:31.973 回答
2

试试这个

 select cast(5.4564556 % 1 * 10 as int)
于 2012-08-26T10:08:31.910 回答
2

您可以通过以下方式获得前四个小数部分:

select SUBSTRING (PARSENAME(5.4564556,1), 1, 4)
于 2012-08-27T00:38:48.507 回答