[解決済み] floatとdecimalのデータ型の違い
2022-04-20 23:27:41
質問
MySQLでfloatとdecimalのデータ型を使用する場合、どのような違いがあるのでしょうか。
どのような場合にどちらを使うべきですか?
どのように解決するのですか?
これは というのが、この疑問を抱いた時に見つけたものです。
mysql> create table numbers (a decimal(10,2), b float);
mysql> insert into numbers values (100, 100);
mysql> select @a := (a/3), @b := (b/3), @a * 3, @b * 3 from numbers \G
*************************** 1. row ***************************
@a := (a/3): 33.333333333
@b := (b/3): 33.333333333333
@a + @a + @a: 99.999999999000000000000000000000
@b + @b + @b: 100
この場合、10進数はまさに想定されたとおりの働きをしました。 が切り捨てられ、1/3の部分が失われています。
つまり、合計では小数の方が良いが、割り算では浮動小数点数の方が良いということだ。 もちろん、ある点までは良いのですが。つまり、DECIMALを使ったからといって のような、失敗の許されない算数です。
お役に立てれば幸いです。
関連
-
mysqlインデックスが長すぎる特殊なキーが長すぎる解決策
-
Mysqlデータベースへのリンク時にpymysqlがConnection refusedエラーを報告する
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] MySQLのクエリ結果をCSV形式で出力するにはどうすればよいですか?
-
[解決済み] ブーリアン値を格納するために使用するMySQLデータ型
-
[解決済み] utf8_general_ciとutf8_unicode_ciの違いは何ですか?
-
[解決済み] TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXTの最大保存サイズ
-
[解決済み] MySQLのutf8mb4とutf8 charsetsの違いは何ですか?
-
[解決済み] MySQLのtinyint、smallint、mediumint、bigint、intの違いは何ですか?
-
[解決済み】MySQLのテーブル、インデックス、データを複製する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
SQL基本クエリステートメント
-
MySQLで正規表現を使う 詳細
-
Mysqlのソート機能の詳細
-
[解決済み】マルチパート識別子をバインドできませんでした。
-
[解決済み】DynamoDB : 提供されたキー要素がスキーマと一致しません。
-
SQLException。オペランドは1列でなければなりません。
-
[解決済み] MySQLです。floatとdoubleの違いは何ですか?
-
[解決済み] ユーザー 'root'@'localhost' (パスワード: YES を使用) のアクセス拒否 - 特権がない?
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] SQL Serverにおけるnumeric、float、decimalの違いについて