본문 바로가기
Error & Fix

MSSQL sum 연산자에 대한 피연산자 데이터 형식 varchar이(가) 잘못되었습니다 해결방법

by wakestand 2020. 4. 9.
반응형

MSSQL에서 아래의 두 에러는

sum 연산자에 대한 피연산자 데이터 형식 varchar이(가) 잘못되었습니다

sum 연산자에 대한 피연산자 데이터 형식 nvarchar이(가) 잘못되었습니다

 

모두 동일한 문제인데

문자열은 SUM을 할 수가 없는데

SUM을 하려했기에 에러가 뜨는 것이다

 

하지만 'ㅁㄴㅇ'가 아닌 '123' 이런 식으로

항상 숫자가 들어와서 SUM해줄 경우에는

 

정수일 경우

SUM(CONVERT(INTEGER, 컬럼))

실수일 경우

SUM(CONVERT(FLOAT, 컬럼))

 

만약 숫자와 문자가 섞여있을 경우에는

IIF(ISNUMERIC(값) = 1, SUM(CONVERT(INTEGER, 컬럼)), 0)

 

이렇게 사용해주면 된다

반응형

댓글