去掉小数点后面的0

--小梁

CREATE FUNCTION dbo.trimNumericZero(@val numeric(10,3))
RETURNS VARCHAR(20)
AS
BEGIN
RETURN LEFT(@val,LEN(@val)-PATINDEX('%[^0]%.%',REVERSE(@val))+1)
END
GO

DECLARE @t TABLE(id int,val numeric(10,3))
INSERT @t VALUES(1,3.110)
INSERT @t VALUES(2,3.500)
INSERT @t VALUES(3,3.111)
INSERT @t VALUES(4,3.050)
INSERT @t VALUES(5,3.301)

SELECT
id,
val
=dbo.trimNumericZero(val)
FROM @t


/*

id val
----------- --------------------
1 3.11
2 3.5
3 3.111
4 3.05
5 3.301

(5 行受影响)

*/
GO
DROP FUNCTION dbo.trimNumericZero

你可能感兴趣的:(Go)