[MSSQL] 숫자만 뽑아내는 함수

2014. 3. 21. 11:38IT

한 필드에 숫자만 뽑아 내는 경우가 생겼다.

아래와 같은 함수를 이용하여 처리 할 수 있다.



 




[결과]



SET ANSI_NULLS ON;

GO

SET QUOTED_IDENTIFIER ON;

GO

Create FUNCTION [dbo].[UFN_GET_NUMBER]

(

 @Contents VARCHAR(MAX)      --문자열

)

RETURNS VARCHAR(MAX)

AS 

BEGIN

 Declare @vNumLast VARCHAR(MAX) 

 Set @vNumLast = ''

 Declare @vNumLen smallint

 Set @vNumLen = Len(@Contents)

 Declare @vCount smallint

 Set @vCount = 1


 While @vCount <= @vNumLen

 Begin

  Declare @vTempStr CHAR(1)

  Set @vTempStr = SubString(@Contents, @vCount, 1)

  If ((ASCII(@vTempStr) >= 48) and (ASCII(@vTempStr) <= 57))

  Begin

   Set @vNumLast = @vNumLast + @vTempStr

  End

  Set @vCount = @vCount + 1

 End

 RETURN @vNumLast

END

GO

'IT' 카테고리의 다른 글

[MSSQL] 랜덤 난수 생성  (0) 2014.05.14
[MSSQL] BASE64 함수  (0) 2014.05.08
[MSSQL] 0으로 나누기 오류가 발생  (0) 2014.03.20
[MSSQL] 주민등록번호 유효성 체크  (0) 2014.03.19
[MSSQL] 필드에 싱글쿼테이션 제거  (0) 2014.03.19