qty * price
という単純なSQL演算で問題が発生していますが、間違った値が返されています。単純なSQL演算で不正な結果が返される
これはSQL Server 2005です.2000 SQLサーバーの互換性は80に設定されています。
私は例えば
下に示す問題が午前理由を理解する上で任意のヘルプ:
トランザクション表:実際の問題は、これをした
Select id, price, qty, (qty * price) from transact
id price qty 1 2.77 20.00 1 2.77 25.00 1 2.77 10.00 2 0.10 50.00 2 0.10 80.00 3 0.10 50.00 3 0.10 60.00
SQLをし、それは私のせいだった:(
Select id, CAST(price AS DECIMAL(5,2)), qty, (qty * price) from transact
は、次の値を返します。
id price qty Total 1 2.77 20.00 55.400000 Correct 1 2.77 25.00 69.250000 Correct 1 2.77 10.00 27.700000 Correct 2 0.10 50.00 4.800000 Should be 5.0000 2 0.10 80.00 7.680000 Should be 8.0000 2 0.10 50.00 5.050000 Should be 5.0000 2 0.10 60.00 6.060000 Should be 6.0000 3 39.00 1.00 39.000000 Correct 3 39.00 2.00 78.000000 Correct 3 39.00 3.00 117.000000 Correct
列のデータ型? – deutschZuid
私はジェームズと共にこの1つです。あなたのテーブルをスクリプトし、create tableステートメントを投稿してください。私は価格がお金でなければならないことを示唆し、あなたが売っているものによっては、それが整数でなければなりません。 –