如何在SQL中将Float转换为Varchar

yog*_*ogi 3 sql t-sql sql-server

我这样做

declare @num float = 7708369000

select  @num as [float], 
    convert(varchar, @num) as [varchar]
Run Code Online (Sandbox Code Playgroud)

它给了我这个

float                  varchar
---------------------- ------------------------------
7708369000             7.70837e+009
Run Code Online (Sandbox Code Playgroud)

但我想要这个

float                  varchar
---------------------- ------------------------------
7708369000             7708369000
Run Code Online (Sandbox Code Playgroud)

请帮忙.

Joh*_*Woo 17

首先将其转换为十进制,

CAST(CAST(@num AS DECIMAL(20)) AS VARCHAR(20))
Run Code Online (Sandbox Code Playgroud)

  • 将DECIMAL(20)更改为DECIMAL(20,S),其中S是所需的小数位数.对于数据类型DECIMAL(P,S),S(标度)必须小于或等于P(精度). (3认同)
  • 小部分怎么样? (2认同)

Sid*_*ami 6

尝试使用Str函数而不是使用convert

DECLARE @num float = 7708369000;    
SELECT Str(@num);
Run Code Online (Sandbox Code Playgroud)