Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在SQL Server中仅获取浮点数的小数部分_Asp.net_Sql Server_Sql Server 2008 - Fatal编程技术网

Asp.net 在SQL Server中仅获取浮点数的小数部分

Asp.net 在SQL Server中仅获取浮点数的小数部分,asp.net,sql-server,sql-server-2008,Asp.net,Sql Server,Sql Server 2008,我在SQL Server 2008中有以下号码:5.4564556 我只想从5.4564556中获得4564556 如果我能得到4564556中的4,那就更好了,这是小数部分的第一位 我怎么做 谢谢您可以这样尝试: SELECT (5.4564556 % 1) 您还可以使用: 就你而言: 5.456456-5=0.4564556 如果为负值,则可以使用 试试这个 select cast(5.4564556 % 1 * 10 as int) 要获取“.”后面的所有数字,可以使用(ab) 返回

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

我怎么做


谢谢

您可以这样尝试:

SELECT (5.4564556 % 1)
您还可以使用:

就你而言:

5.456456-5=0.4564556

如果为负值,则可以使用

试试这个

 select cast(5.4564556 % 1 * 10 as int)

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

返回4564556


另请参阅

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

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

@ghanshyam.mirani注意PARSENAME返回一个
NVARCHAR(256)
。我也没有看到你问题的第二部分
select LEFT(PARSENAME('5.456456',1),1)
只返回4。您可能需要将其转换回数字类型。这实际上是最好的答案,因为它在数学上是正确的,因此适用于所有浮点数集。
 select cast(5.4564556 % 1 * 10 as int)
select PARSENAME(5.4564556,1)
select SUBSTRING (PARSENAME(5.4564556,1), 1, 4)