• SQL自定义函数,把sql中小数点后的多于0去掉


    方法xb_trim:

    --方法作用:把sql中小数点后的多于0去掉 

    --@strVar为要转换的字符

    --返回值:varchar 既检验不通过,返回自身,其它为要的值

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[xb_trim]') and xtype in (N'FN', N'IF', N'TF'))
    drop function [dbo].[xb_trim]
    GO

    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_NULLS ON
    GO

    CREATE     FUNCTION xb_trim (@strVar varchar(100)) 
    RETURNS VARCHAR(100) AS 
    BEGIN   
    DECLARE @TMPVAR DECIMAL(20,2)       
           if isNULL(@strVar,'')=''
           return @strVar;     
           IF(ISNUMERIC(@strVar)<>1)
             RETURN @strVar
           ELSE IF(charindex('E',@strVar)>0)
             RETURN @strVar
           ELSE IF(charindex(',',@strVar)>0)
      RETURN @strVar      
           ELSE
     BEGIN
         SET @TMPVAR=CONVERT(DECIMAL(20,2),@strVar)
         IF(@TMPVAR=0)
      RETURN '0'
         ELSE
      BEGIN
       WHILE(SUBSTRING(@strVar,LEN(@strVar),1)='0' AND CHARINDEX('.',@strVar)>0)
       BEGIN
        SET @strVar=SUBSTRING(@strVar,0,LEN(@strVar))    
       END 
       IF(SUBSTRING(@strVar,LEN(@strVar),1)='.')
        SET @strVar=SUBSTRING(@strVar,0,LEN(@strVar)) 
      END
     END
    RETURN @strVar
    END

    GO
    SET QUOTED_IDENTIFIER OFF
    GO
    SET ANSI_NULLS ON
    GO

  • 相关阅读:
    17.10.13
    17.10.12
    17.10.11
    17.10.10
    17.10.05
    17.10.04
    17.10.03
    17.10.02
    17.10.01
    17.9.29
  • 原文地址:https://www.cnblogs.com/xbding/p/2336795.html
Copyright © 2020-2023  润新知