SQL Server:如何将float格式化为字符串,不使用逗号?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server:如何将float格式化为字符串,不使用逗号?相关的知识,希望对你有一定的参考价值。

我目前正在使用格式'N99',这很棒,除了它添加了逗号。

有没有办法在格式中不指定逗号? 或者我是否必须使用REPLACE自己删除逗号? (较慢,但可以接受。)

编辑:我需要使用FORMAT函数,以满足我的要求。

enter image description here

答案

您希望将Format函数用于此格式

它可以这样做:

declare @num as float
set @num=21739130.43478260

select format(@num, N'#.##############################');
-- output : 21739130.4347826

有很多方法可以做到这一点:

转换功能:

SELECT CONVERT(varchar(100), Cast(@num as decimal(38, 2)))
--output : 21739130.43

SELECT CONVERT (VARCHAR(50), @num,128)
--output : 21739130.4347826090000000

字符串功能:

SELECT LTRIM(STR(@num, 25, 99))
--output : 2.1739130434782609e+007
另一答案

str函数也将float转换为字符串,不确定它是否满足您的要求

 STR(1000000000E0/46E0,len(STR(1000000000E0/46E0))+10,16)

 output=21739130.43478260900

并根据您的要求更换功能

select  replace(format(1000000000E0/46E0,N'N99'), ',', '')

产量

21739130.434782600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

以上是关于SQL Server:如何将float格式化为字符串,不使用逗号?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SQL Server中 将日期格式化

如何在 SQL Server中 将日期格式化

如何将数字格式化为货币字符串

sql server导入excel数据,字符串类型变成float

如何将格式为“3/22/2018 12:24:29 PM”的日期时间字符串格式化为sql时间戳以插入内存数据库中的h2?

Oracle数据库中如何将字符串格式化为日期