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

gha*_*ani 4 sql-server asp.net sql-server-2008

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

我该怎么做?

谢谢

ale*_*oot 8

你可以这样试试:

SELECT (5.4564556 % 1)
Run Code Online (Sandbox Code Playgroud)


Dor*_*hen 7

你也可以使用FLOOR():

SELECT Value - FLOOR(Value)
Run Code Online (Sandbox Code Playgroud)

在你的情况下:

5.4564556 - 5 = 0.4564556

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

SELECT ABS(Value) - ABS(FLOOR(Value))
Run Code Online (Sandbox Code Playgroud)


Stu*_*tLC 5

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

select PARSENAME(5.4564556,1)
Run Code Online (Sandbox Code Playgroud)

返回4564556

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


NG.*_*NG. 2

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

select SUBSTRING (PARSENAME(5.4564556,1), 1, 4)
Run Code Online (Sandbox Code Playgroud)