CREATE FUNCTION [dbo].[fn_RemoveTrailingZeros] (@value DECIMAL(28, 8))
RETURNS VARCHAR(50)
AS
BEGIN
RETURN CAST(CAST(@value AS FLOAT) AS VARCHAR(50))
END
SELECT [dbo].[fn_RemoveTrailingZeros](1.2030)
CREATE FUNCTION [dbo].[fn_RemoveTrailingZerosFromString] (@value VARCHAR(50))
RETURNS VARCHAR(50)
AS
BEGIN
DECLARE @decimalIndex INT = CHARINDEX('.', @value)
IF @decimalIndex > 0
BEGIN
WHILE RIGHT(@value, 1) = '0'
BEGIN
SET @value = LEFT(@value, LEN(@value) - 1)
END
IF RIGHT(@value, 1) = '.'
BEGIN
SET @value = LEFT(@value, LEN(@value) - 1)
END
END
RETURN @value
END
SELECT [dbo].[fn_RemoveTrailingZerosFromString]('1.')