MySQL データ型における DECIMAL の使用法の詳細な説明 MySQL のデータ型には、INT、FLOAT、DOUBLE、CHAR、DECIMAL などがあり、それぞれに独自の機能があります。ここでは主に、MySQL のデータ型のうち DECIMAL 型の機能と使用方法を紹介します。 通常、浮動小数点列に割り当てられた値は、列に指定された小数点数に丸められます。 1. 2 3 4 5 6 を FLOAT(8, 1) 列に格納すると、結果は 1. 2 になります。同じ値が FLOAT(8, 4) 列に格納されている場合、結果は 1. 2 3 4 6 になります。 つまり、可能な限り最も正確な値を得るために、十分なビット数を持つ浮動小数点列を定義する必要があります。 1000 分の 1 の精度が必要な場合は、小数点以下 2 桁のみを持つ型を定義しないでください。 この浮動小数点値の処理は、FLOAT(4)とFLOAT(8)のパフォーマンスが変更されたMySQL 3.23で免除されました。これら 2 つの型は、現在、単精度 (4 バイト) 型と倍精度 (8 バイト) 型であり、値が指定されたとおりに格納されるという意味で真の浮動小数点型です (ハードウェアの制限のみに従います)。 DECIMAL 型は FLOAT や DECIMAL とは異なり、DECIMAL は実際には文字列として保存されます。 DECIMAL 値の最大可能範囲は DOUBLE と同じですが、その有効範囲は M と D の値によって決まります。 M が変更され、D が固定されている場合、M が増加するにつれてその値の範囲は増加します。表 2-7 の最初の 3 行がこれを示しています。 M が固定され、D が変更されると、D が増加するにつれてその値の範囲は狭くなります (ただし、精度は向上します)。表 2-7 の最後の 3 行がこれを示しています。 特定の DECIMAL 型の値の範囲は、MySQL データ型のバージョンによって異なります。 MySQL 3.23 より前のバージョンでは、DECIMAL(M, D) 列の各値は M バイトを占め、符号 (必要な場合) と小数点が M バイトに含まれます。したがって、DECIMAL(5, 2)型の列は、すべての可能な5文字の値をカバーしているため、-9.99から9 9 . 9 9の範囲の値を持つことができます。 MySQL 3.23 以降、DECIMAL 値は ANSI 仕様に従って処理されます。ANSI 仕様では、DECIMAL(M, D) は M 桁、D 小数点以下の任意の値を表現できる必要があると規定されています。 たとえば、DECIMAL(5, 2)は、-999.99から999.99までのすべての値を表現できる必要があります。また、符号と小数点も保存する必要があるため、MySQL 3.23 以降では DECIMAL 値は M + 2 バイトを占有します。 DECIMAL(5, 2)の場合、「最長」値(-999.99)には7バイトが必要です。 正の範囲の一方の端では正の符号は必要ないため、MySQL データ型ではこれを使用して、ANSI 仕様で要求される範囲を超えて値の範囲を拡張します。たとえば、DECIMAL(5, 2) の最大値は 9 9 9 9 です。9 9 は、使用可能なバイトが 7 バイトあるためです。 つまり、MySQL 3.23 以降では、DECIMAL(M, D) の範囲は、以前のバージョンの DECIMAL(M + 2, D) の範囲と同じになります。 MySQL データ型のすべてのバージョンにおいて、DECIMAL 列の D が 0 の場合、小数点は保存されません。その結果、以前は小数点を格納するために使用されていたバイトが他の数値を格納するために使用できるようになるため、列内の値の範囲が拡張されます。 ご質問がありましたら、メッセージを残すか、コミュニティに参加して話し合いましょう。お読みいただきありがとうございます。お役に立てれば幸いです。このサイトをサポートしていただき、ありがとうございます。 以下もご興味があるかもしれません:
|
<<: VMware Workstation のインストール Linux システム
>>: WeChatアプレットがログインインターフェースを実装
システムの問題、アプリケーションの速度低下、または原因不明の問題をトラブルシューティングする場合、最...
写真をアップロードするので、まずはダウンロード可能な画像リソースかどうかを判断する必要があります。正...
適切なデータベース仕様は、ソフトウェア実装の複雑さを軽減し、通信コストを削減するのに役立ちます。この...
コンテナ内でコマンドを実行したいが、コンテナに入りたくない場合があります。ではどうすればいいでしょう...
場合によっては、特定の条件に基づいて Web ページ内の HTML 要素を表示するか非表示にするかを...
CentOS でカーネル モジュールを自動的にロードするには、/etc/sysconfig/modu...
鏡とは何ですか?イメージは、複数のイメージ レイヤー (UnionFS および AUFS ファイル ...
目次序文1. 準備 - サーバーとnginxの使用1. サーバーを準備する2. nginxをインスト...
-9999 ピクセルの画像置換技術は、ここ 10 年近く人気があります。テキスト要素を画像に置き換え...
HTML と XHTML の違い1. XHTML要素は正しくネストされている必要がある2. XHT...
目次1. モジュラーコンセプト2. モジュール化3. モジュール化プロセス1. 通常の記述(グローバ...
border-radius:10px; /* すべての角は半径 10px で丸められます*/ bor...
学ぶ内容1. ソフトウェアのインストールとサーバーの設定。 2. (オプションですが、強くお勧めしま...
この記事では、MySQL でよく使用されるデータ クエリ言語について説明します。 DQL (データク...
目次Vue2 レスポンシブ原則のレビューVue3 レスポンシブ原則の分析ネストされたオブジェクトの応...