본문 바로가기
IT/MSSQL

[MSSQL] decimal 및 numeric 사용법(자릿수 확인)

by 베베야 2024. 3. 12.
728x90

decimal 및 numeric 사용법에 대해서 알아보고
자릿수에 대해서 테스트 및 산술 오버플로 오류에 대해서도 확인해 보자

 

자릿수 확인

decimal[ (p[ ,s] )] 및 numeric[ (p[ ,s] )]
고정 정밀도 및 배율 숫자입니다. 최대 정밀도를 사용하는 경우 유효한 값은 - 10^38 +1 ~ 10^38 - 1입니다. 10진수에 대한 ISO 동의어는 dec 및 dec(p, s)입니다.
숫자는 10진수와 기능적으로 동일합니다.

p(전체 자릿수)
저장할 최대 소수 자릿수입니다. 이 숫자에는 소수점의 왼쪽과 오른쪽이 모두 포함됩니다. 전체 자릿수 값은 1에서 최대 전체 자릿수인 38 사이여야 합니다. 기본 전체 자릿수는 18입니다.


예제

--테이블 생성
CREATE TABLE dbo.DN_TEST
(
DecimalColumn DECIMAL(5,2)
,NumericColumn NUMERIC(10,5)
);
GO

 

--데이터 입력
INSERT INTO dbo.DN_TEST VALUES (123, 12345.12);

--데이터 확인
SELECT DecimalColumn, NumericColumn
FROM dbo.DN_TEST;

 

 

아래와 같이 자릿수가 넘어가면 오류가 발생한다.
INSERT INTO dbo.DN_TEST VALUES (1234, 12345.12);
int을(를) 데이터 형식 numeric(으)로 변환하는 중 산술 오버플로 오류가 발생했습니다.

반응형
그리드형

댓글