SqlServerでの除算時の少数 | 株式会社アースリンク

2021年5月20日

SqlServerでの除算時の少数

務SQLを作成していて、おもむろに割り算をしたら整数しか返ってこなかったのでメモ代わりに記載します。

 

以下の割り算をします。

6578784/11475

 

■電卓

573.3145098039215686274

 

■Excel

573.3145098039220000000

 

■SqlServer
573

 

少数桁が丸ごと消えてしまっています。

 

https://docs.microsoft.com/ja-jp/sql/t-sql/language-elements/divide-transact-sql?redirectedfrom=MSDN&view=sql-server-ver15

 

上記より「整数型の dividend(被除数)を整数型の divisor (除数)で除算すると、結果は小数部が切り捨てられた整数になります。」

 

整数同士で割ると整数が帰ってくる仕様みたいですね。
※普通に不便ですね。。。

 

それなら整数(型)で割らなければいいので、Convertを使ってfloatにして割ってみます。

select convert(float,6578784)/11475

573.314509803922

 

無事、少数が登場してくれました。

Contact
お問い合わせ

電話番号0120 - 889 - 236

受付時間:平日 9:00-18:00