SELECT CAST (330/60 AS FLOAT) AS result
また
SELECT CONVERT(FLOAT, 330/60) AS result
実は5.5の結果を期待しています
しかし、それは5を返しています。なぜですか?
そして、5.5として結果を得るソリューションを教えてください
SELECT CAST (330/60 AS FLOAT) AS result
また
SELECT CONVERT(FLOAT, 330/60) AS result
実は5.5の結果を期待しています
しかし、それは5を返しています。なぜですか?
そして、5.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
答えをfloatにキャストする代わりに、分母をfloatにキャストしてから、除算を実行する必要があります。
Select 330/CAST(60 as float) as result
または、juergen dによって提案されているように、分母を変更して小数部を含めます
SELECT CAST (330/60.0 AS FLOAT) AS result