질의작성

Integer 컬럼의 결과에 + or – 연산을 할 때 주의해야 할 점

by 웁쓰 posted Dec 31, 2009

.

Inttable 라는 테이블에 intval 이라는 integer 로 선언된 필드가 있다고 가정하자.

 

Select intval from inttable 질의의 결과인 intval 의 경우 integer range 를 갖는다.

 

하지만, 쿼리에 + 또는 – 연산을 할 경우 결과값의 range integer range를 벗어나는 경우, 즉 예를 들어

Select intval-1000000000000000 from inttable 또는 Select intval+1000000000000000 from inttable 형의 질의의 경우

결과값이 numeric 형으로 자동으로 cast 된다.

, 위의 연산 결과를 integer 형의 변수에 넣을 경우 응용단에서 overflow 되지 않도록 주의하여야 한다.


Articles

3 4 5 6 7 8 9 10 11 12