SQL Server에서 열의 데이터 형식을 변환하려고합니다. 큰 정수 두 값을 삽입하면 예상되는 결과를 얻지 못합니다. 그것은 산술 오버 플로우 기록이 커밋되지 않았다고 말한다. 나는 그것을 위해 다음과 같은 코드를 가지고있다.계산 된 열의 데이터 형식을 변환하는 방법
CREATE TABLE mytable(
firstcol [int] NULL,
secondcol [int] NULL,
computedcol AS (firstcol * secondcol)
하지만 추가하거나 지원 승산 같은 10 개 자리의 연산을 입력하지만 123456789 * 123,456,789 할 경우는 산수 오버 플로우 에러를 도시하고, 기록이 커밋 될 couldnot 때. 아마도 계산 된 데이터 유형이 int이고 SQL 서버의 int 데이터 유형이 초과 된 경우 오버플로 오류 bigint 데이터 유형이 그러한 계산을 시도하는 희망이지만 최대 코드가 필요하다는 것을 알지 못한다는 것을 나타내는 경우 최대 10 자리입니다.
데이터 유형을 직접 지정 하시겠습니까? 하지만 왜'int'를 사용하지 않습니까? 한계가 exeeeds 거기에 오버플로있을 것입니다 ... 그건 당신이 그것에 대해 갈 수 없어 ... – bonCodigo
두 10 자리 숫자를 곱하면 또한 bigint의 최대 값을 초과 할 수 있습니다 '9223372036854775807' – nunespascal