select @canshu=cast(@mon as varchar(20)) -- 把参数转换为字符串
select @pos=charindex('.',@canshu)
select @str=substring(@canshu,@pos,4) --现在就把小数点后面那几位存在这个地方了
select @zhengshuzhi=cast (cast(@mon as int) as varchar(10) ) --字符型
select @zhengshuwei=len(@zhengshuzhi) -- 整型
if @zhengshuwei=1
select @returnvalue=cast(@mon as varchar(20))
if @zhengshuwei=2
select @returnvalue=cast(@mon as varchar(20))
if @zhengshuwei=3
select @returnvalue=cast(@mon as varchar(20))
if @zhengshuwei>3 and @zhengshuwei<7
begin
select @str1=substring(@zhengshuzhi,@zhengshuwei-3+1,@zhengshuwei)
select @returnvalue=substring(@zhengshuzhi,1,@zhengshuwei-3)+','+@str1+@str
end
if @zhengshuwei>=7 and @zhengshuwei<10
begin
select @str1=substring(@zhengshuzhi,@zhengshuwei-3+1,@zhengshuwei)
select @str2=substring(@zhengshuzhi,@zhengshuwei-6+1,@zhengshuwei-3)
select @str3=substring(@zhengshuzhi,1,@zhengshuwei-6)
select @returnvalue=@str3+','+@str2+','+@str1+@str
end
if @canshuzhengfu<0
select @returnvalue='-'+@returnvalue
return @Returnvalue
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO