加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

带逗号的SQL Server格式小数位

发布时间:2021-01-13 10:08:59 所属栏目:编程 来源:网络整理
导读:如何将十进制值转换为逗号? 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(var

如何将十进制值转换为逗号?

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

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读