带逗号的SQL Server格式小数位

前端之家收集整理的这篇文章主要介绍了带逗号的SQL Server格式小数位前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何将十进制值转换为逗号?

this帮助我.但我的问题小数位只设置为2 ..我希望小数为2,3或4 ..示例

1,234.123   or    1,234.12345

我试过了

convert(varchar,convert(decimal(18,4),1234.1234567),1)

产量:1234.1234

没有逗号.但如果我用钱,小数只是2

convert(varchar,convert(money,1)

Output : 1,234.12

解决方法

不考虑这是个好主意……
select dbo.F_AddThousandSeparators(convert(varchar,1))

功能

-- Author:      bummi
-- Create date: 20121106
CREATE FUNCTION F_AddThousandSeparators(@NumStr varchar(50)) 
RETURNS Varchar(50)
AS
BEGIN
declare @OutStr varchar(50)
declare @i int
declare @run int

Select @i=CHARINDEX('.',@NumStr)
if @i=0 
    begin
    set @i=LEN(@NumStr)
    Set @Outstr=''
    end
else
    begin   
     Set @Outstr=SUBSTRING(@NUmStr,@i,50)
     Set @i=@i -1
    end 


Set @run=0

While @i>0
    begin
      if @Run=3
        begin
          Set @Outstr=','+@Outstr
          Set @run=0
        end
      Set @Outstr=SUBSTRING(@NumStr,1) +@Outstr  
      Set @i=@i-1
      Set @run=@run + 1     
    end

    RETURN @OutStr

END
GO

猜你在找的MsSQL相关文章