본문 바로가기
Programming/MSSQL

MSSQL 숫자만 뽑아내기

by 제타 2018. 4. 17.
반응형

MSSQL에서 전화번호 같은 테이블에서 숫자만 뽑아내는 함수이다.

예를 들어서 010-0000-0000 -> 01000000000 으로..


학생 테이블이 다음과 같이 있다고 치자.






CREATE FUNCTION dbo.udf_GetNumeric

(@strAlphaNumeric VARCHAR(256))

RETURNS VARCHAR(256)

AS

BEGIN

DECLARE @intAlpha INT

SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric)

BEGIN

WHILE @intAlpha > 0

BEGIN

SET @strAlphaNumeric = STUFF(@strAlphaNumeric, @intAlpha, 1, '' )

SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric )

END

END

RETURN ISNULL(@strAlphaNumeric,0)

END

GO



SELECT dbo.udf_GetNumeric(전화번호), *

FROM 학생








반응형

'Programming > MSSQL' 카테고리의 다른 글

MSSQL 날짜 계산 함수 DATEADD, DATEDIFF  (0) 2018.04.21
MSSQL tempDB 옮기기  (0) 2018.04.18
MSSQL 인코딩 확인 및 변경  (0) 2018.04.17
MSSQL 데이터에서 문자열 찾기  (0) 2018.04.17
MSSQL TABLE REBUILD  (0) 2018.04.16