Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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
SQL Server 2008,将浮点转换为字符串_Sql_Sql Server - Fatal编程技术网

SQL Server 2008,将浮点转换为字符串

SQL Server 2008,将浮点转换为字符串,sql,sql-server,Sql,Sql Server,我需要将浮点字段(sp.[Current])转换为字符串。查询的部分是: SELECT cast(sp.CustID as varchar(10)) CustID, cast(sp.Year as varchar(4)) Year, convert(nvarchar(50), sp.[Current]) AS Potential, sp.[Current] as Potential1 但是转换后我得到了这个结果 我得到这个数字的指数表示法。如何改进它?您可

我需要将浮点字段(sp.[Current])转换为字符串。查询的部分是:

SELECT 
    cast(sp.CustID as varchar(10)) CustID,
    cast(sp.Year as varchar(4)) Year,
    convert(nvarchar(50), sp.[Current])  AS Potential,
    sp.[Current] as Potential1
但是转换后我得到了这个结果

我得到这个数字的指数表示法。如何改进它?

您可以像下面这样尝试

CONVERT(numeric(16,0), CAST([Current] AS FLOAT))
试试这个

DECLARE @val float = 2000000.890

select convert(nvarchar(50),CAST(@val AS numeric(16,4)))

如下图所示,您可以参考此链接

SELECT STR(float,25, 2)

祝你好运。

你有没有检查文档中的
CONVERT
。有什么问题吗?
CONVERT
中的文档解释了如何控制输出。不过,让客户端控制格式要好得多。SQL,这种语言在格式化方面不是很好。在受支持的SQL Server版本中,您可以使用该函数,但同样,客户端在格式化方面要高得多。为什么还要使用
float
?它有一些用例,但是
float
(和
real
)是不精确的数据类型。如果它有效,您需要选择正确的解决方案。