0
SELECT CAST (330/60 AS FLOAT) AS result

また

SELECT CONVERT(FLOAT, 330/60) AS result

実は5.5の結果を期待しています

しかし、それは5を返しています。なぜですか?

そして、5.5として結果を得るソリューションを教えてください

4

2 に答える 2

5

60.0固定小数点タイプを強制するために使用します。

 SELECT CAST (330/60.0 AS FLOAT) AS result
 SELECT CONVERT(FLOAT, 330/60.0) AS result

の計算は330/60、結果を丸める整数として行われます。その後、フロートにキャストします。最初から数値タイプを使用でき、キャストする必要はありません。

SELECT 330/60.0 AS result
于 2012-06-21T08:19:58.113 に答える
2

答えをfloatにキャストする代わりに、分母をfloatにキャストしてから、除算を実行する必要があります。

 Select 330/CAST(60 as float) as result

または、juergen dによって提案されているように、分母を変更して小数部を含めます

 SELECT CAST (330/60.0 AS FLOAT) AS result
于 2012-06-21T08:26:03.290 に答える