일단 마지막에 사용한 구문은
having (CONVERT(bigint, rm.ALL_AREA*1.0) * 0.3) <= rm.ALL_AREA or (CONVERT(bigint, rm.ALL_AREA*1.0) * 0.3) <= rm.ALL_AREA
입니다.
All_AREA 는 면적 인데요.
실면적 이기 때문에 범위는 크지 않습니다.
커 봐야 ~ 127.24 ? 정도?
면적 보다 30% 이내 (상,하) 데이터를 불러 올려고 하는데 ..
산술플로어 오류가 나옵니다.
또는 데이터 형식 varchar을(를) bigint(으)로 변환하는 중 오류가 발생했습니다. 이런 오류도 나오구요.
오류 해결 하기 위해서 제가 알고 있는 방법 부터 .. 검색으로 나온것들 전부 해보았는데..
도저히 풀리지않네요;;;
앞으로 계산식이 많아져서 계산식을 많이 쓰게 될텐데 .. 초반 부터 이러니 걱정이 됩니다.
도와주세요
Comment 4
-
항해자™
2014.04.12 01:55
bigint -> flot 로 변경해 보세요,,, -
ssunsori
2014.04.14 09:09
동일하게
"varchar을(를) 데이터 형식 numeric(으)로 변환하는 중 산술 오버플로 오류가 발생했습니다."
라는 애러가 나옵니다.
혹시나 해서 넣을수 있는 건 다 넣어서 테스트 해보았는데.... 마찬가지 입니다.
후~
다른건 변환 잘 했는데... 요놈에서 걸리네요...
-
항해자™
2014.04.14 10:49
rm.ALL_AREA의 자료형이 varchar 인가요?? 그러면 우측에 있는 값도 convert 해 주세요,,
그리고 rm.ALL_AREA 의 전체 값을 한번 살펴보세요,, 혹시 자료형 변환에 문제는 없는지,,
이 컬럼이 숫자형만 취급한다면 컬럼 자료형을 바꾸는 것을 고려해 보시기 바랍니다,,,
having (CONVERT(flot, rm.ALL_AREA*1.0) * 0.3) <= rm.ALL_AREA or (CONVERT(flot, rm.ALL_AREA*1.0) * 0.3)<=
CONVERT(flot, rm.ALL_AREA)
-
ssunsori
2014.04.14 14:14
아!
우측두요 ... 그건 생각을 못 했습니다.
감사합니다.