본문 바로가기
Error & Fix

MSSQL ISNUMERIC으로 숫자 문자 판별방법 및 예제

by wakestand 2020. 4. 9.
반응형

MSSQL에서 ISNUMERIC을 사용해

특정 값이 숫자인지 문자인지 판별할 수 있는데

 

사용방법은

ISNUMERIC(값) = 0 

- 값이 문자인지 확인

ISNUMERIC(값) = 1

- 값이 숫자인지 확인

 

ISNUMERIC은 단독으로 사용할 수 없기에

IIF, CASE WHEN과 같은

조건이 필요한 곳에 사용하게 된다

 

위 예제를 보면

IIF 안에서 ISNUMERIC(값) = 0 의 경우

문자일 경우 TRUE, 아닐 경우 FALSE

 

ISNUMERIC(값) = 1 의 경우

숫자일 경우 TRUE, 아닐 경우 FALSE가 떨어져

NOT_NUMERIC, NUMERIC으로 출력이 되는 것이 보인다

 

예제에 사용한 코드는 아래와 같다

 

SELECT IIF(ISNUMERIC('') = 0, 'NOT_NUMERIC', 'NUMERIC') AS NUMERIC_CHK1,
       IIF(ISNUMERIC('0.1') = 1, 'NUMERIC', 'NOT_NUMERIC') AS NUMERIC_CHK2,
       IIF(ISNUMERIC('123.523') = 1, 'NUMERIC', 'NOT_NUMERIC') AS NUMERIC_CHK3,
       IIF(ISNUMERIC('12가나다34') = 1, 'NUMERIC', 'NOT_NUMERIC') AS NUMERIC_CHK4
반응형

댓글