2010년 1월 25일 월요일

MSSQL 숫자만 가져오기

FUNCTION dbo.UF_NumOnly(@str VARCHAR(20))
RETURNS VARCHAR(20)
AS
BEGIN
 DECLARE @res VARCHAR(MAX)
 Set @res = ''

 DECLARE @strlen INT
 SET @strlen = LEN(@str)

 DECLARE @cnt INT
 SET @cnt = 1

 WHILE @cnt <= @strlen
 BEGIN
  DECLARE @tmpstr CHAR(1)
  Set @tmpstr = SUBSTRING(@str, @cnt, 1)

  IF((ASCII(@tmpstr) >= 48) AND (ASCII(@tmpstr) <= 57))
  BEGIN
   SET @res = @res + @tmpstr
  END

  SET @cnt = @cnt + 1
 END

 RETURN @res
END

댓글 없음:

댓글 쓰기