MSSQL VARCHAR 를 INT로 변경해서 sum 값계산하기
페이지 정보
본문
필드의 속성이 문자형 varchar 로 설정된 경우에는 sum 명령어를 실행하면 오류가 발생합니다.
이때는 문자열을 제외한 숫자형식만 추출해서 합산하는 방법이 있습니다.
[ 예제1 ] sum 계산하면
select sum( dimension )
from mytable
결과
[ 예제2 ] 숫자만 저장하는 경우
이때는 문자열을 제외한 숫자형식만 추출해서 합산하는 방법이 있습니다.
[ 예제1 ] sum 계산하면
dimension varchar(50) 의 값이 다음과 같을때
5
17
3
15
select sum( dimension )
from mytable
결과
Msg 409, Level 16, State 2, Line 1
sum or average aggregate 연산에서는 varchar 데이터 형식을 인수로 취할 수 없습니다.
[ 예제2 ] 숫자만 저장하는 경우
dimension varchar(50) 의 값이 다음과 같을때
5
17
3
15
select sum( convert ( INT, dimension ) )
from mytable
결과
40
[ 예제3 ] 숫자 + 문자가 혼재되서 저장된 경우
dimension varchar(50) 의 값이 다음과 같을때
5
17
3
happyjung.com
Western Bypass
15
문자열을 만나면 0 으로 값을 넘겨서 계산을 계속진행합니다.
select sum( case isnumeric ( dimension )
when 1 then convert ( int, dimension )
else 0
end)
from mytable
댓글목록
등록된 댓글이 없습니다.