본문 바로가기

DBMS/SQL Server

[SQL Server] 특수문자 제거하는 함수

 

특수문자 제거하는 함수

 

특수문자를 제거하는 함수를 만들어보자.

 

 CREATE FUNCTION DBO.REMOVE_SPECIAL_CHARS (

       @S VARCHAR(256))

 RETURNS VARCHAR(256)

 

 BEGIN

   IF @S IS NULL

      RETURN NULL

     

   DECLARE @S2 VARCHAR(256)

   DECLARE @L INT

   DECLARE @P INT

  

   SET @S2 = ''

   SET @L = LEN(@S)

   SET @P = 1

  

   WHILE @P <= @L

   BEGIN

      DECLARE @C INT

      SET @C = ASCII(SUBSTRING(@S, @P, 1))

      IF @C BETWEEN 48 AND 57

      OR @C BETWEEN 65 AND 90

      OR @C BETWEEN 97 AND 122

         SET @S2 = @S2 + CHAR(@C)

      SET @P = @P + 1

   END

   IF LEN(@S2) = 0

      RETURN NULL

   RETURN @S2

 END

 

 SELECT DBO.REMOVE_SPECIAL_CHARS ('ABC-123+ABC')

 

 

참고 : http://www.source-code.biz/snippets/mssql/1.htm