zoukankan      html  css  js  c++  java
  • SQL Server经典函数之数字去零

    需求:

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

    可能存在的情况:

        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  
  • 相关阅读:
    Git基本操作(Windows下)
    Git for Windows安装和基本设置
    OpenCV 2.4.3在VS2010上的应用
    VS2010安装Visual Assist
    django中表单处理
    django自定义错误响应
    django的url配置
    django模板语言
    zabbix利用api批量添加item,并且批量配置添加graph
    高性能集群软件Keepalived(1)
  • 原文地址:https://www.cnblogs.com/kongxiaoshuang/p/7066527.html
Copyright © 2011-2022 走看看