ALTER FUNCTION [dbo].[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
去掉小數點後多餘的Zero
最近在公司做一些開發涉及到一些數值的處理,要求是在展示這些數值時要把小數點後面多餘的Zero去掉。在度娘上查了一下,感覺這個SQL語句寫的很實用,因此寫到博客裏,以後再用到可以方便查找。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.