お知らせ
2021年5月20日
SqlServerでの除算時の少数
務SQLを作成していて、おもむろに割り算をしたら整数しか返ってこなかったのでメモ代わりに記載します。
以下の割り算をします。
6578784/11475
■電卓
573.3145098039215686274
■Excel
573.3145098039220000000
■SqlServer
573
少数桁が丸ごと消えてしまっています。
上記より「整数型の dividend(被除数)を整数型の divisor (除数)で除算すると、結果は小数部が切り捨てられた整数になります。」
整数同士で割ると整数が帰ってくる仕様みたいですね。
※普通に不便ですね。。。
それなら整数(型)で割らなければいいので、Convertを使ってfloatにして割ってみます。
select convert(float,6578784)/11475
573.314509803922
無事、少数が登場してくれました。