読み方 : デシマルがた

DECIMAL型【NUMERIC型】DEC型

概要

DECIMAL型とはSQLにおけるデータ型の一つで、十進数の数値を指定した桁数で誤差なく正確に格納できるもの。浮動小数点型のような近似表現をとらず、金額や税率など厳密な精度が求められるデータの記録や計算に用いられる。
DECIMAL型のイメージ画像

数値を扱うSQLデータ型には、整数型浮動小数点型などがある。浮動小数点型は数値を二進数の近似値として保持するため、十進数の小数を正確に表現できず、計算を繰り返すうちに誤差が蓄積することがある。DECIMAL型はすべての桁を十進数のまま厳密に保持するため、こうした誤差が生じない。

型の定義には全体の桁数(精度)と小数点以下の桁数(スケール)を指定し、「DECIMAL(精度, スケール)」という形式で記述する。例えば、「DECIMAL(6,3)」と指定した場合、全体6桁、小数点以下3桁となり、-999.999~999.999の範囲の数値を格納できる。スケールを「0」にすれば整数のみを扱う型として利用することもできる。

指定できる最大桁数はDBMSごとに異なる。MySQLMariaDBでは65桁まで、PostgreSQLでは131,072桁まで、Oracle DatabaseSQL Serverでは38桁まで対応している。スケールはいずれも精度の範囲内で指定する。MySQLなど一部の製品では「UNSIGNED」属性を付加することで非負の数値のみに制限できるが、これはSQL標準には含まれない独自の仕様である。

DECIMAL型は固定小数点型に分類される。誤差のない十進演算を実現する代わりに、浮動小数点型と比べてデータの記憶容量が増え、処理速度も劣る傾向がある。厳密性を要する金額の計算など限られた用途に限って用いられる型である。SQL標準で「DECIMAL型」と「NUMERIC型」は同じ型を指しており、多くのDBMSでは両者を同一の型として実装している。

(2026.6.23更新)
 
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。