您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

SqlServer关于带有小数点的数字信息,去除小数点后多余的零

bubuko 2022/1/25 20:01:17 sqlserver 字数 1747 阅读 1044 来源 http://www.bubuko.com/infolist-5-1.html

需求: 针对带有小数点的数字信息,去除小数点后多余的零 可能存在的情况: 1、精度范围内,出现多余的零 eg:1234.3400 想要的结果为1234.34 2、精度变大出现的多余的零,或者没有实际小数部分的数据 eg:1234.0 想要的结果为 1234 3、数据末尾为小数点,但是没有实际的小数 ...

需求:

       针对带有小数点的数字信息,去除小数点后多余的零

可能存在的情况:

    1、精度范围内,出现多余的零    eg:1234.3400     想要的结果为1234.34

    2、精度变大出现的多余的零,或者没有实际小数部分的数据     eg:1234.0      想要的结果为 1234

   3、数据末尾为小数点,但是没有实际的小数    eg:1234.    想要的结果为1234



----去零函数 ---去除小数点后多余的零 select dbo.ClearZero(‘1245.3400‘) ---结果为1245.34 create function [dbo].[ClearZero] (@Number varchar(200)) returns varchar(200) as begin if @Number = ‘‘ or @Number is null ---如果为空,直接返回 return null else begin declare @PointIndex int set @PointIndex = charindex(‘.‘,@Number) if @PointIndex = 0 return @Number ---如果不是浮点数,直接返回 if @PointIndex = len(@Number) return replace(@Number,‘.‘,‘‘) ----数字末尾有小数点,直接删除返回 else begin if right(@Number,1) = ‘0‘ ---递归调用,进行去零操作 begin set @Number = substring(@Number,1,len(@Number) - 1) return dbo.ClearZero(@Number) end else return @Number end end return null end GO

SqlServer关于带有小数点的数字信息,去除小数点后多余的零

原文:https://www.cnblogs.com/jpf111/p/12605338.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶