2007年11月3日

利用SQL將某數值進行位數的補足

我們常常會為某些數值欄位做補值得動作,
例如33.23
要變成033.230等
下面這個SQL就是要做這件事情。


IF EXISTS (SELECT * FROM sysobjects WHERE name = N'FN_FILL_TEXT')
DROP FUNCTION FN_FILL_TEXT
GO

CREATE FUNCTION FN_FILL_TEXT
(
@STR VARCHAR(20) , --要被處理的字串
@CON INT , --要顯示的位數(包含小數點)
@DEC INT , --小數位數
@REPLACE CHAR(1) --要被補上的字元
)RETURNS VARCHAR(50)
AS
BEGIN
RETURN REPLACE( STR(@STR , @CON , @DEC) , ' ' , @REPLACE )
END
GO

SELECT dbo.FN_FILL_TEXT('39.1','8','3','0')
GO

--結果:0039.100

沒有留言:

張貼留言