그냥 간단하게 나누고 곱하는 값을 출력 테스트 했습니다.
float : 부동소수점
decimal : 실수 (numeric 동일)
money : 통화단위
dECLARE
@mon1 MONEY,
@mon2 MONEY,
@mon3 MONEY,
@mon4 MONEY,
@num1 DECIMAL(19,5), --소수점이하 자동반올림
@num2 DECIMAL(19,5),
@num3 DECIMAL(19,5),
@num4 DECIMAL(19,5),
@flo1 float, --부동소수점
@flo2 float,
@flo3 float,
@flo4 float
SELECT
@mon1 = 100, @mon2 = 339, @mon3 = 10000,
@num1 = 100, @num2 = 339, @num3 = 10000,
@flo1 = 100, @flo2 = 339, @flo3 = 10000
SET @mon4 = @mon1/@mon2*@mon3
SET @num4 = @num1/@num2*@num3
SET @flo4 = @flo1/@flo2*@flo3
SELECT @mon4 AS moneyresult,
@num4 AS decimalresult,
@flo4 AS floatresult
실행해보면, money 는 소수점 이하의 값을 지웁니다. 대신 decimal 은 그대로 버리지 않고 데이터를 가지고 있습니다. 단 '실수' 이므로 6자리 이하의 소수점을 반올림 하게 됩니다.
(float 값을 보면 decimal 이 반올림한것을 확인이 가능합니다.)
Dbeaver (무료 데이터 베이스 접속 툴) SQL Server 연결해 보기 (0) | 2020.12.19 |
---|---|
mssql 의 money 와 decimal 그리고 float 의 차이점 (0) | 2020.11.25 |
SQL Server IntelliSense 자동 완성 refresh 새로고침 방법 (0) | 2020.11.21 |
mssql 테이블 데이터를 INSERT 쿼리 구문으로 만들기 (0) | 2020.10.30 |
mssql 최근 실행된 쿼리 가져오기 (0) | 2020.10.30 |
MSSQL Server Zero Pad Left ( 빈 앞자리에 0 채우기) - Format 함수 활용 (0) | 2020.05.29 |
본문과 관련 있는 내용으로 댓글을 남겨주시면 감사하겠습니다.