-- 문자열에서 특수문자 제거
-- 0-9, a-z and A-Z 제외한 모든 문자 제거
create function dbo.RemoveSpecialChars (@s varchar(256)) returns varchar(256)
with schemabinding
begin
if @s is null
return null
declare @s2 varchar(256)
set @s2 = ''
declare @l int
set @l = len(@s)
declare @p int
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.RemoveSpecialChars('abc-123+ABC')
결과: abc123ABC
'MSSQL' 카테고리의 다른 글
[MSSQL] 순위함수 RANK, NTILE, DENSE_RANK, ROW_NUMBER (0) | 2016.08.14 |
---|---|
[MSSQL] 암호 대칭키 (0) | 2016.07.26 |
[MSSQL] 테이블 스키마 / 데이터 백업 (0) | 2016.07.24 |
[MSSQL] 중복행 삭제 / 조회 (0) | 2016.07.24 |
[MSSQL] 문자열 치환 REPLACE / STUFF (0) | 2016.07.24 |