如何把查询得到的数据以千分位的形式展现?例如 “123000” 展现为“123,000”,不需要小数位

解决方案 »

  1.   

    ssas ,ssrs 可以直接选格式
      

  2.   

    http://topic.csdn.net/u/20100317/15/04f1bf02-48be-4567-be7f-22c0ec5d2df9.html13#,16#
      

  3.   

    select left(convert(varchar, cast(12356000 as money), 1) , charindex('.', convert(varchar, cast(12356000 as money), 1))-1)
      

  4.   

    declare @value int,@i int,@j int,@s varchar(100)
    select 
    @i=1,
    @j=0,
    @value=123000,
    @s=rtrim(@value)while @i<=(len(@value)-1)/3
    begin
    select @s=stuff(@s,(len(@s)-@i*3+1)-@j,0,',')
    set @i=@i+1
    set @j=@j+1
    end 
    select @s/*
    ----------------------------------------------------------------------------------------------------
    12,300,034(1 行受影响)*/
      

  5.   

    create function fn_qianwei(@s varchar(100))
    returns varchar(100)
    as
    begin
    declare @result varchar(100),@i int
    if CHARINDEX('.',@s)>0
    begin select @s=LEFT(@s,CHARINDEX('.',@s)-1)
    end
    select @i=LEN(@s)
    select @result=''
    while @i>3
    begin
    select @result=','+RIGHT(@s,3)+@result
    select @s=LEFT(@s,@i-3)
    select @i=@i-3
    end
    select @result=@s+@result
    return @result
    end
    select dbo.fn_qianwei('19800012.123')--19,800,012
      

  6.   

    select replace(convert(varchar(20),convert(money,2000000000),1),'.00','')