【SQL Server】小数点以下を何桁まで表示させるか、小数点は四捨五入か切り捨てか

背景

SQLで割り算等をする際は、小数点の扱いをどうするかユーザに確認する必要がある

小数点以下の扱いについて

●何桁まで表示させるか
型「DECIMAL」で実現する。小数点を3桁まで表示させる場合は「DECIMAL(10,3)」等にする

●四捨五入する場合
組み込み関数「ROUND」を使用する

--例)
SELECT ROUND(@value,2) AS '四捨五入'

●切り捨てる場合
組み込み関数「FLOOR」を使用する

--例)
SELECT FLOOR(@value) AS '切り捨て'

サンプル



上記のコードは以下。

DECLARE
	@value DECIMAL(10,3)

SET @value = 10.1 /3

--小数点が3桁表示されていることを確認
SELECT @value AS '関数未使用'

--四捨五入の場合① ※小数点第3位を四捨五入し、場合により小数点第2位を繰り上げる
SELECT ROUND(@value,2) AS '四捨五入①'

--四捨五入の場合② ※小数点第2位を四捨五入し、場合により小数点第1位を繰り上げる
SELECT ROUND(@value,1) AS '四捨五入②'

--切り捨てるの場合 ※小数点を切り捨てる
SELECT FLOOR(@value) AS '切り捨て'

タイトルとURLをコピーしました