CREATE function tttRound(@num varchar(20),@i int)
returns varchar(20)
as
begin
declare @str varchar(20) /*转换成字符类型*/
declare @str20 varchar(20) /*小数位数后面的字符串*/
declare @temp varchar(20)
declare @temp0 varchar(20)
declare @temp1 varchar(20) /*小数位数字符串*/
set @str = convert(varchar,@num)
set @str20=substring(@str,charindex('.',@str) + 1,len(@str))
set @temp=substring(@str20,@i+1,1)
set @temp0=substring(@str20,@i,1)
set @temp1=substring(@str20,@i+2,len(@str20))
if len(@str20)begin
set @str= @str+replicate('0',@i-len (substring(@str,charindex('.',@str)+1,len(@str))))
end
else if((len(@temp1)=0)and (convert(int,@temp)=5) and (convert(int,@temp0)%2=0) )
begin
set @str=substring(@str,1,charindex('.',@str) +@i)
end
else
begin /*否则四舍五入*/
set @str = convert(varchar,round(@num,@i))
end
RETURN @str
end
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11218608/viewspace-969085/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11218608/viewspace-969085/