본문 바로가기
데이터베이스/MSSQL

MSSQL 문자 숫자 변환 및 숫자 체크

by Dokon Jang 2022. 8. 18.
반응형

MSSQL에서 문자를 숫자로 변환해야 하는 경우가 종종 있습니다.
그런데 문자에 숫자가 아니 다른 문자가 있을 경우 오류가 발생하게 되는데 이런 경우 처리 방법을 알아보겠습니다.

 

문자를 숫자로 변화 쿼리
SELECT CONVERT(INT, '1234'),
       CONVERT(FLOAT, '1234.123'),
       CONVERT(NUMERIC, '1234.12345')

 

문자에 숫자가 아닌 경우 쿼리에 오류 발생
SELECT CONVERT(INT, 'a1234')

ERROR : varchar 값 'a1234'을(를) 데이터 형식 int(으)로 변환하지 못했습니다.

 

문자를 숫자로 변화 가능 여부 쿼리
SELECT ISNUMERIC('a1234'), -- 0 (숫자 변환 X)
       ISNUMERIC('1234')   -- 1 (숫자 변환 O)

 

개선한 문자 숫자 변환 쿼리
SELECT IIF(ISNUMERIC('a1234') = 0, 0, CONVERT(INT, 'a1234')),
       IIF(ISNUMERIC('1234') = 0, 0, CONVERT(INT, '1234'))

 

반응형

댓글