SQL Server:如何将float格式化为字符串,不使用逗号?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server:如何将float格式化为字符串,不使用逗号?相关的知识,希望对你有一定的参考价值。
我目前正在使用格式'N99'
,这很棒,除了它添加了逗号。
有没有办法在格式中不指定逗号?
或者我是否必须使用REPLACE
自己删除逗号? (较慢,但可以接受。)
编辑:我需要使用FORMAT
函数,以满足我的要求。
答案
您希望将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导入excel数据,字符串类型变成float
如何将格式为“3/22/2018 12:24:29 PM”的日期时间字符串格式化为sql时间戳以插入内存数据库中的h2?