共計 1581 個字符,預計需要花費 4 分鐘才能閱讀完成。
本篇內容主要講解“mysql 中金額用哪個類型”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“mysql 中金額用哪個類型”吧!
在 mysql 中,金額用“DECIMAL”類型。DECIMAL 類型是專門為財務相關問題而設計的數據類型,能夠解決數據的范圍和精度的問題,常用于貨幣數據,如價格,工資,帳戶余額等;它實際上是以字符串的形式存放的,可在定義時劃定整數部分以及小數部分的位數,語法“DECIMAL(M,D)”,參數 M 是數字的最大數(精度),參數 D 是小數點右側數字的數目(標度)。
本教程操作環境:windows7 系統、mysql8 版本、Dell G3 電腦。
在 mysql 中,金額用“DECIMAL”類型。
Decimal(定點數)為專門為財務相關問題設計的數據類型,能夠解決數據的范圍和精度的問題。
DECIMAL 從 MySQL 5.1 引入,列的聲明語法是 DECIMAL(M,D)。在 MySQL 5.1 中,參量的取值范圍如下:
M 是數字的最大數(精度)。其范圍為 1~65(在較舊的 MySQL 版本中,允許的范圍是 1~254),M 的默認 值是 10。
D 是小數點右側數字的數目(標度)。其范圍是 0~30,但不得超過 M。
說明:float 占 4 個字節,double 占 8 個字節,decimail(M,D) 占 M + 2 個字節。
如 DECIMAL(5,2) 的最大值為 9 9 9 9 . 9 9,因為有 7 個字節可用。
DECIMAL 類型不同于 FLOAT 和 DOUBLE。DOUBLE 實際上是以字符串的形式存放的,DECIMAL 可能的最大取值范圍與 DOUBLE 相同,但是有效的取值范圍由 M 和 D 決定。如果改變 M 而固定 D,則取值范圍將隨 M 的變大而變大。
強調一下:在 MySQL 中,定點數以字符串形式存儲,在對精度要求比較高的時候(如貨幣、科學數據),使用 DECIMAL 的類型比較好,另外兩個浮點數進行減法和比較運算時也容易出問題,所以在使用浮點數時需要注意,并盡量避免做浮點數比較。
MySQL DECIMAL 數據類型和貨幣數據
我們經常將 DECIMAL 數據類型用于貨幣數據,如價格,工資,帳戶余額等。如果您設計一個處理貨幣數據的數據庫,則以下語法應沒問題。
amount DECIMAL(19,2);
但是,如果您要遵守公認會計原則(GAAP)規則,則貨幣列必須至少包含 4 個小數位,以確保舍入值不超過 0.01 美元。在這種情況下,您應定義具有 4 個小數位的列,如下所示:
amount DECIMAL(19,4);
MySQL DECIMAL 數據類型示例
首先,創建一個新表名為 materials 三個字段分別:id,description 和 cost。
CREATE TABLE materials (
id INT AUTO_INCREMENT PRIMARY KEY,
description VARCHAR(255),
cost DECIMAL(19 , 4 ) NOT NULL
);
其次,將數據插入 materials 表中。
INSERT INTO materials(description,cost)
VALUES(Bicycle , 500.34),(Seat ,10.23),(Break ,5.21);
第三,從表中查詢數據 materials。
SELECT
*
materials;
第四,修改 cost 列以包含 ZEROFILL 屬性。
ALTER TABLE materials
MODIFY cost DECIMAL(19,4) zerofill;
五,再次查詢材料表。
SELECT
*
materials;
如您所見,我們在輸出值中填充了許多零。
到此,相信大家對“mysql 中金額用哪個類型”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!