SQL/MS-SQL & SQL Server Management Studio

[MS-SQL] NUMERIC 소수점 설정/ 자르기.

삐뚤어진 개발자 2019. 8. 22.

-변수형 NUMERIC 을 사용할 때,

NUMERIC(총 자리수,소수점 자리수) 이다

 

1.  EX) NUMERIC(13,5)선언

	DECLARE @NUMERIC NUMERIC(13,5)
	SET @NUMERIC = 1.5
	SELECT @NUMERIC

결과값은 1.50000 가 나온다 콤마 뒤 숫자를 5를 입력했기 때문에 뒤에 필요없는 0000 이 붙었다.

1.결과

 

2.  소숫점 한자리로 잘라 조회하고 싶다면 CONVERT 함수를 사용해 

데이터 타입 NUMERIC(13,1) 로 변환해주면 된다.

DECLARE @NUMERIC NUMERIC(13,5)
	SET @NUMERIC = 1.5
	SELECT CONVERT(NUMERIC(13,1),@NUMERIC)

2.결과

 

-참고 

데이터 타입을 NUMERIC(5,5) 으로 선언후 변수값에 1.5를 넣어준다면,

1.50000 => (6자리) 수가 출력되야하는데 5자리에 6자리가 들어갈 수 없으므로 오버플로 오류가 발생한다.  

DECLARE @NUMERIC NUMERIC(5,5)
	SET @NUMERIC = 1.5
	SELECT @NUMERIC

 

댓글