Remove Trailing Zeros
CREATE FUNCTION [dbo].[udf_RemoveTrailingZeros] ( @strValue nvarchar(50), @KeepComma bit = 0, @RemoveBefore bit = 0 ) RETURNS nvarchar(50) BEGIN DECLARE @strValueR nvarchar(50) DECLARE @strValueL nvarchar(50) DECLARE @charInd int DECLARE @intCount int SET @charInd = CHARINDEX('.',@strValue) IF @charInd = 0 SET @strValueL = @strValue ELSE BEGIN SET @strValueR = RIGHT(@strValue, LEN(@strValue)-@charInd) SET @strValueL = LEFT(@strValue, @charInd-1) SET @intCount = LEN(@strValueR)+1 WHILE @intCount > 0 BEGIN SET @intCount = @intCount - 1 IF SUBSTRING(@strValueR, @intCount, 1) NOT LIKE '0' BREAK END SELECT @strValueR = LEFT(@strValueR, @intCount) END SELECT @strValue = CASE WHEN @RemoveBefore = 1 THEN Cast(Cast(@strValueL as int) as varchar) ELSE @strValueL END + CASE WHEN (LEN(@strValueR) > 0) THEN '.' + @strValueR ELSE '' END --Replace point decimal by comma set @strValue = replace(@strValue,'.',',') IF @KeepComma = 1 AND SUBSTRING(@strValue, len(@strValue),1) <> ',' AND CHARINDEX(',',@strValue) <= 0 SET @strValue = @strValue + ',' RETURN @strValue END