database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 6938 게시물 읽기
No. 6938
산술오버플로 오류입니다.
작성자
둥둥이
작성일
2015-11-26 16:35
조회수
4,953

안녕하세요 고수님들

아래와같이 하던 도중에 산술오버플로 오류가 나서 여쭤봅니다.

declare @a bigint

set @a = round(200000 * 5000 * 30 / 365, 0)

select @a

 이렇게 하니 expression을 데이터형식 int으로 변환하는 중 산술 오버플로 오류가 발생했습니다.

라고 나옵니다.

제생각으로는 결과 값이 충분히 bigint 안에 포함되는거 같은데 .. 에러가 나네요 ㅠㅠ

 고수님들의 의견을 부탁드립니다.

이 글에 대한 댓글이 총 2건 있습니다.

변수만 bigint 일뿐
계산식에 사용된 상수값은 int 인거죠. (20000, 5000, 30, 365)
순서대로 연산이 일어난다면?
365 로 나누기 전 (20000 * 5000 * 30)의 결과가 int 의 범위를 넘어갑니다.
상수값을 bigint 로 바꾸어 계산하세요.
ROUND(CAST(200000 AS BIGINT) * 5000 * 30 / 365, 0)

마농(manon94)님이 2015-11-26 17:05에 작성한 댓글입니다.

마농님

항상 감사합니다.

둥둥이님이 2015-11-26 18:26에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6941mssql update 관련 궁금증이 있습니다.
박주호
2015-12-08
4135
6940master - detail 연결시 합계금액 [7]
김우성
2015-11-30
4533
6939ms sql where in () 조건시 in절안에 파라메타 최대 개수가 궁금합니다. [1]
jd
2015-11-27
6038
6938산술오버플로 오류입니다. [2]
둥둥이
2015-11-26
4953
6937문자열 추출 [2]
쿠기
2015-11-24
4474
69363개의 쿼리문을 하나로 합치고 싶어요 [4]
김우성
2015-11-24
4653
6935날짜 형 변환 문제
다중이
2015-11-24
4452
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.047초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다