【SQL Server】小数点以下の桁数の指定方法

割り算等の計算により、数値の小数点以下の値が
多くなってしまうことがあります!
※3.366666等

小数点以下の桁数の指定は、
型「DECIMAL」を用いて実現します!

例えば
 ・小数点を3桁まで表示させたい
場合は、変数を
 ・型「DECIMAL(10,3)」
で定義して、計算結果を格納します!

小数点以下の桁数を指定する場合は、
 ・何桁で表示させるのか?
 ・四捨五入で問題無いか?
仕様確認をしっかりやりましょう!

小数点以下の桁数を3桁にする場合

変数を型「DECIMAL(10,3)」で定義して、計算結果を格納します。

DECLARE
	@value DECIMAL(10,3)

SET @value = 10.1 /3

SELECT @value

SQL Serverの仕様により、上記の通り小数点の4桁目が自動的に四捨五入されます。
※「3.366666」の場合は「3.367」になります。

小数点以下の桁数を5桁にする場合

変数を型「DECIMAL(10,5)」で定義して、計算結果を格納します。

DECLARE
	@value DECIMAL(10,5)

SET @value = 10.1 /3

SELECT @value

SQL Serverの仕様により、上記の通り小数点の6桁目が自動的に四捨五入されます。
※「3.366666」の場合は「3.36667」になります。

おまけ(小数点を表示させない場合)

小数点を表示させたくない場合は、組み込み関数「FLOOR」を使用して小数点を切り捨てます。

SELECT 10.1 /3 AS '関数未使用'

SELECT FLOOR(10.1 /3) AS '組み込み関数「FLOOR」を使用'
タイトルとURLをコピーしました