MSSQL

[MSSQL] 데이터 타입 DECIMAL, NUMERIC 실습

허니용 2024. 7. 9. 15:59
728x90
반응형


이번 글에서는 숫자형 데이터 타입 중 DECIMAL과 NUMERIC에 대해 알아보고 실습해 보겠습니다.
 
 

MSSQL 데이터 타입
DECIMAL, NUMERIC 

우선 마이크로소프트 문서에 의하면 DECIMAL과 NUMERIC을 구분지어 설명하지 않아서 같은 데이터 타입인 것으로 보입니다.
 
DECIMAL과 NUMERIC은 고정 정밀도 및 소수 자릿수가 있는 숫자 데이터 타입입니다.
 
 

MSSQL 데이터 타입
DECIMAL, NUMERIC 사용 방법

이름만 다를뿐 데이터 타입이 같으므로 DECIMAL로 실습해 보도록 하겠습니다.
 
사용 방법: decimal[ (p [ , s] ) ]
p (전체 자릿수)
전체 자릿수 값은 1에서  최대 38 사이여야 하며 기본 전체 자릿수는 18입니다.

s는 소수점의 자리수를 이야기합니다.

글로 보면 어려우니 SQL문으로 실습하면서 알아볼게요.
 

DECLARE @decimal DECIMAL(5, 3);

 
 
DECIMAL(5, 3) 으로 선언하면 위와 같이 소수점의 왼쪽과 오른쪽이 5개의 숫자를 사용할 수 있고 소수점의 최대 자릿수는 3이 됩니다. 그래서 정수는 99까지이고 소수점은 0.999까지 가능합니다.
 
 

DECLARE @decimal DECIMAL;

DECIMAL 데이터 타입을 위와 같이 선언할 경우 기본 전체 자릿수가 18로 지정됩니다.
 
 

DECLARE @decimal DECIMAL(18,0);

즉 위와 같이 선언한 것과 같은 것이라 소수점은 사용하지 않고 정수만 18자리로 사용하겠다는 의미입니다.
 
 

즉 이런 숫자를 대입 할 수 있습니다.
 
 

DECLARE @decimal DECIMAL(38,38);

위 데이터 타입의 의미는 정수는 사용하지 않고 소수점만 38자리를 사용하겠다는 의미입니다.
 
 

이렇게 소수점 38자리가 들어가고 정수가 0이 아닌 경우 오류가 발생하게 됩니다.
 
 

마무리

두 데이터 타입은 동일하며, 소수점과 정수의 자릿수를 지정하여 사용할 수 있습니다.
MSSQL 데이터 타입의 DECIMAL, NUMERIC에 대해 알아보고 실습해 보았습니다.

728x90
반응형