반응형
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'))
반응형
'데이터베이스 > MSSQL' 카테고리의 다른 글
MSSQL WITH NOLOCK 설정하기 (0) | 2023.06.22 |
---|---|
MSSQL 여러 컬럼의 MIN, MAX, SUM, AVG 구하기 (0) | 2023.06.13 |
MSSQL에서 오라클 DECODE 처럼 쿼리 사용하기 (0) | 2022.07.14 |
MSSQL 분모가 0 일때 처리 방법 (0) | 2022.07.07 |
MSSQL 개월 차이에 대해서 (3) | 2022.05.24 |
댓글