中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL中float和decimal類型的作用是什么

發布時間:2021-08-04 16:53:46 來源:億速云 閱讀:289 作者:Leah 欄目:數據庫

本篇文章給大家分享的是有關MySQL中float和decimal類型的作用是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

 float,double容易產生誤差,對精確度要求比較高時,建議使用decimal來存,decimal在mysql內存是以字符串存儲的,用于定義貨幣要求精確度高的數據。在數據遷移中,float(M,D)是非標準定義,最好不要這樣使用。M為精度,D為標度。
  mysql> create table t1(c1 float(10,2), c3 decimal(10,2));
  Query OK, 0 rows affected (0.02 sec)
  mysql> insert into t1 values(1234567.23, 1234567.23);
  Query OK, 1 row affected (0.01 sec)
  mysql> select * from t1;
  +------------+------------+
  | c1 | c3 |
  +------------+------------+
  | 1234567.25 | 1234567.23 |
  +------------+------------+
  1 row in set (0.02 sec)
  mysql> insert into t1 values(9876543.21, 9876543.12);
  Query OK, 1 row affected (0.00 sec)
  mysql>
  mysql> select * from t1;
  +------------+------------+
  | c1 | c3 |
  +------------+------------+
  | 1234567.25 | 1234567.23 |
  | 9876543.00 | 9876543.12 |
  +------------+------------+
  2 rows in set (0.00 sec)
  不定義fload, double的精度和標度時,存儲按給出的數值存儲,這于OS和當前的硬件有關。
  decimal默認為decimal(10,0)
  因為誤差問題,在程序中,少用浮點數做=比較,可以做range比較。如果數值比較,最好使用decimal類型。
  精度中,符號不算在內:
  mysql> insert into t1 values(-98765430.21, -98765430.12);
  Query OK, 1 row affected (0.01 sec)
  mysql> select * from t1;
  +--------------+--------------+
  | c1 | c3 |
  +--------------+--------------+
  | 1234567.25 | 1234567.23 |
  | 9876543.00 | 9876543.12 |
  | -98765432.00 | -98765430.12 |
  +--------------+--------------+
  3 rows in set (0.00 sec)
  float占4個字節,double占8個字節,decimail(M,D)占M+2個字節。
  decimal 類型可以精確地表示非常大或非常精確的小數。大至 1028(正或負)以及有效位數多達 28 位的數字可以作為 decimal類型存儲而不失其精確性。該類型對于必須避免舍入錯誤的應用程序(如記賬)很有用。
  float是浮點數,不能指定小數位。
  decimal是精確數,可以指定精度。
  對mysql 5來說 decimal(p,s)中p最大為65,S最大為30
  decimal數據類型最多可存儲 38 個數字,它存儲了一個準確(精確)的數字表達法,不存儲值的近似值。
  當數據值一定要按照指定精確存儲時,可以用帶有小數的decimal數據類型來存儲數字。
  float和real數據類型被稱為近似的數據類型。不存儲精確值.當要求精確的數字狀態時,比如在財務應用程序中,在那些需要舍入的操作中, 或在等值核對的操作中,就不使用這些數據類型。這時就要用integer、decimal、money或smallmone數據類型。
  在 WHERE 子句搜索條件中(特別是 = 和 <> 運算符),應避免使用float或real列。最好限制使用float和real列做> 或 < 的比較。

以上就是MySQL中float和decimal類型的作用是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沈阳市| 疏附县| 庆城县| 环江| 尼勒克县| 巴马| 许昌市| 额济纳旗| 偏关县| 泌阳县| 米泉市| 兴化市| 嵩明县| 扎鲁特旗| 冷水江市| 尚义县| 石首市| 惠水县| 永昌县| 泗水县| 汤阴县| 延长县| 沾益县| 普定县| 色达县| 乡城县| 瑞丽市| 东阿县| 延庆县| 曲麻莱县| 泸定县| 湘阴县| 含山县| 九江市| 莎车县| 济源市| 黔西| 平原县| 内丘县| 辉县市| 三穗县|