mysqlの倍精度と小数変換の間にデータ損失がありますか?DOUBLE(15,2)からDECIMAL(15,2)への変換
3
A
答えて
2
倍精度の精度は〜16桁です。つまり、両方の型が15桁の精度で宣言されているので、答えはいいえです。 (タイプが16桁の場合は、倍精度の精度は実際には15〜16桁であるため、格納される数値によって異なります)。
0
DECIMALの最大桁数は65です。 3〜5.0.5)。 MySQL 5.0.3より前では、DECIMAL値の最大範囲はDOUBLEの場合と同じですが、指定されたDECIMALカラムの実際の範囲は、指定されたカラムの精度または位取りによって制限されます。 Manual
私は推測できません。
0
倍精度浮動小数点数は、小数点以下15桁まで正確です。 DECIMALの精度は65桁です。 DOUBLEからDECIMALへの変換時にデータを失うことはありません。 Brad氏の言うとおり、以前はDECIMAL値の最大範囲はDOUBLEの場合と同じでした。 Numeric Type Overview
データの数値計算を行い、小数点以下15桁以上が必要な場合は、DOUBLEに実際の値ではなく値の近似値が格納されるため、時間をかけて列をDECIMALに変換することをお勧めします。
なぜ私は10進数に変換されているのですか –