--创建函数(原创:dobear_0922)
create function [dbo].[getformatstring](@dec decimal(28,8), @n int)
returns varchar(32) as
begin
declare @str varchar(32), @len int, @left varchar(32), @right varchar(32),@end varchar(32)
if @n!='0'
begin
set @str= round(@dec,@n)
select @left=left(@str,charindex('.',@str)-1),@len=len(@left)-2
while @len>1
begin
select @left=stuff(@left,@len,0,','), @len=@len-3
end
select @right=left(stuff(@str,1,charindex('.',@str),''), @n),@len=4
while @len <=len(@right)
begin
select @right=stuff(@right,@len,0,','), @len=@len+4
end
set @end= @left+'.'+@right
end
else
begin
set @str= round(@dec,@n)
select @left=left(@str,charindex('.',@str)-1),@len=len(@left)-2
while @len>1
begin
select @left=stuff(@left,@len,0,','),
[MSSQL]将数字转换千分位分隔形式
最新推荐文章于 2024-02-22 16:00:04 发布
本文介绍了一个在MSSQL中创建的自定义函数`[dbo].[getformatstring]`,用于将数字转换为包含千分位分隔的格式。函数接受两个参数,一个为数字,一个为保留的小数位数。通过示例展示了如何使用该函数以及其运行结果。同时提供了一种不使用函数直接通过`convert`和`money`类型实现相同效果的方法。
订阅专栏 解锁全文
6128

被折叠的 条评论
为什么被折叠?



