SELECT 1/2が0を返すのはなぜですか?


回答:


29

それらは整数です。

試してください:

select 1.0/2.0;

または:

select CONVERT(NUMERIC,1)/CONVERT(NUMERIC,2);

14

まず、数値を整数として実行していますが、次に、数値データ型の精度とスケールも定義していません。

これを試して:

SELECT CONVERT(NUMERIC(5, 2), 1.0/2.0)

あるいは

SELECT CONVERT(NUMERIC(5, 2), 1/2.0)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.