- 목적 : 정규식형태를 이용하여 포함되는 기호나 문자의 목록을 특정문자나 공백으로 치환 하도록 한다.
- 함수명 : dbo.GetRegExReplace
- 함수 결과 스칼라 리턴 형식 - VarChar(MAX)
- Parameter (Argument )
4-1 @TargetText VarChar(MAX) - 원본 문자열 값
4-2 @Expression VarChar(80) - 정규 식 형태 문자열
4-3 @ReplaceValue VarChar(80) - 교체할 문자
1. a-z 까지 포함 되는 문자열 제거
SELECT dbo.GetRegExReplace('1^28a45b840c92-3d0_ 9 ','[^-_]','')
2. a-z 를 제외한 문자열 제거
SELECT dbo.GetRegExReplace('128a45b840c923d09','[^a-z]','')
-- 아래 프로시져 내용입니다 ;;;
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: 김영대
-- Create date: 2016-05-12
-- Description: RegEx Replace 역할 함수
-- =============================================
CREATE FUNCTION dbo.GetRegExReplace
(
@TargetText VarChar(MAX), -- 원본 문자열 값
@Expression VarChar(80),-- 정규 식 형태 문자열
@ReplaceValue VarChar(80) -- 교체할 문자
)
RETURNS VARCHAR(MAX)
AS
BEGIN
DECLARE @ReturnValue VARCHAR(MAX) = @TargetText;
IF ISNULL(@ReturnValue,'') = ''
RETURN @ReturnValue;
WHILE 1 =1
BEGIN
IF PATINDEX('%' + @Expression + '%' , @ReturnValue) = 0
BREAK;
SET @ReturnValue = STUFF(@ReturnValue,PATINDEX('%' + @Expression + '%' , @ReturnValue),1,@ReplaceValue)
END
RETURN @ReturnValue
END
GO
'MS-SQL > Function' 카테고리의 다른 글
MSSQL Base64 String Encode,Decode Function (0) | 2016.05.13 |
---|---|
ASCII 함수를 이용한 숫자만 추출해보는 간단한 함수 예제 (0) | 2013.02.01 |