取小数的有效值函数
CREATE FUNCTION [dbo].[f_ClearZero] ( @inValue VARCHAR(50) ) RETURNS VARCHAR(50) AS BEGIN DECLARE @returnValue VARCHAR(20) IF ( @inValue = '' ) SET @returnValue = '' --空的时候为空 ELSE IF ( CHARINDEX('.', @inValue) = '0' ) SET @returnValue = @inValue --针对不含小数点的 ELSE IF ( SUBSTRING(REVERSE(@inValue), PATINDEX('%[^0]%', REVERSE(@inValue)), 1) = '.' ) SET @returnValue = LEFT(@inValue, LEN(@inValue) - PATINDEX('%[^0]%', REVERSE(@inValue))) --针对小数点后全是0的 ELSE SET @returnValue = LEFT(@inValue, LEN(@inValue) - PATINDEX('%[^0]%.%', REVERSE(@inValue)) + 1) --其他任何情形 RETURN @returnValue END GO