DB/MS-SQL

[MS-SQL] 문자열에서 숫자만 뽑기 스칼라 함수

통통만두 2012. 3. 9. 16:36
반응형
ALTER FUNCTION [dbo].[fn_ExtractNumber]
(
	@STR			VARCHAR(8000)
)
RETURNS VARCHAR(8000)
AS
BEGIN
	DECLARE @RETURN VARCHAR(8000);
	SET @RETURN = '';
	
	DECLARE @LEN INT;
	SET @LEN = LEN(@STR);
	
	DECLARE @CNT INT;
	SET @CNT = 1;
	
	WHILE @CNT <= @LEN
	BEGIN
		DECLARE @TMP CHAR(1);
		SET @TMP = SUBSTRING(@STR, @CNT, 1);
		
		IF (ASCII(@TMP) >= 48) AND (ASCII(@TMP) <= 57)
			SET @RETURN = @RETURN + @TMP;
			
		SET @CNT = @CNT + 1;		
	END;
	
	RETURN @RETURN;
END

반응형