1. ホーム
  2. sql-server

[解決済み] 結果を分割するためのSQLの小数点以下の値

2022-02-10 21:33:13

質問

SQLで col1col2 . どちらも整数です。

のようにしたい。

select col1/col2 from tbl1

私は結果を得る 1 ここで col1=3col2=2

私が欲しい結果は 1.1

私は round(col1/col2,2) . 結果はまだ1です。

私は decimal(col1/col2,2) . 小数点以下はビルトイン機能ではありません。

具体的にどうすれば1.1が得られるのでしょうか?

解決方法は?

除算する前に、値をキャストするか、10進数に変換する必要があります。これを見てください。 http://msdn.microsoft.com/en-us/library/aa226054.aspx

例えば

DECLARE @num1 int = 3 DECLARE @num2 int = 2

SELECT @num1/@num2

SELECT @num1/CONVERT(decimal(4,2), @num2)

最初のSELECTはご覧のような結果になり、2番目のSELECTは正しい答えになります。 1.500000