首页
/
每日頭條
/
科技
/
mysql裡面decimal的長度
mysql裡面decimal的長度
更新时间:2026-08-11 21:14:34

MySQL DECIMAL數據類型用于在數據庫中存儲精确的數值。對于保持精确精度的列,我們通常使用DECIMAL數據類型,例如會計系統中的貨币數據。

要定義數據類型為DECIMAL的列,使用以下語法:

column_name DECIMAL(P,D);

在上面的語法中:

  • P是表示有效位數的精度。P的範圍是1到65。
  • D表示小數點後的位數。D的範圍是0到30。MySQL要求D小于或等于(<=)P。

DECIMAL(P,D)表示該列最多可以存儲帶D位小數的P位數。小數列的實際範圍取決于精度和小數位數。

除了DECIMAL關鍵字外,還可以使用DEC、FIXED或NUMERIC,因為它們是DECIMAL的同義詞。

與INT數據類型一樣,DECIMAL類型也具有UNSIGNED和ZEROFILL屬性。如果我們使用UNSIGNED屬性,則定義為DECIMAL UNSIGNED的列将不接受負值。

在使用ZEROFILL的情況下,MySQL将顯示值填充0,直到列定義指定的顯示寬度。另外,如果對DECIMAL列使用ZEROFILL,MySQL會自動向列中添加UNSIGNED屬性。

下面的示例使用DECIMAL數據類型定義amount列。

amount DECIMAL(6,2);

在本例中,amount列可以存儲6位數字(2位小數);因此,amount列的範圍是從9999.99到-9999.99。

MySQL允許我們使用以下語法:

column_name DECIMAL(P);

這相當于:

column_name DECIMAL(P,0);

在本例中,列不包含小數部分或小數點。

此外,我們甚至可以使用以下語法。

column_name DECIMAL;

在這種情況下,P的默認值是10。

DECIMAL存儲

MySQL分别為整數部分和小數部分分配存儲空間。MySQL使用二進制格式存儲十進制值。它把9個數字壓縮成4個字節。

對于每個部分,存儲每9位數字需要4個字節。剩餘數字所需的存儲如下表所示:

剩下的數字

字節數

0

0

1–2

1

3–4

2

5–6

3

7–9

4

例如,DECIMAL(19,9)的小數部分為9位,整數部分為19-9=10位。小數部分需要4個字節。整數部分的前9位需要4個字節,剩餘的1位需要1個字節。DECIMAL(19,9)列總共需要9個字節。

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 * FROM materials;

mysql裡面decimal的長度(MySQL之DECIMAL數據類型)1

第四,更改cost列以包含ZEROFILL屬性。

ALTER TABLE materials MODIFY cost DECIMAL(19,4) zerofill;

再次查詢materials表。

SELECT * FROM materials;

mysql裡面decimal的長度(MySQL之DECIMAL數據類型)2

如您所見,我們在輸出值中填充了許多零。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
蘋果7代跟7plus有什麼區别
蘋果7代跟7plus有什麼區别
蘋果7代跟7plus有什麼區别?Phone7和iPhone7Plus都有五款顔色:金色、玫瑰金色、亮黑色各黑色跟銀色五種,其中亮黑色外觀僅于128GB及256GB存儲容量的機型提供,現在小編就來說說關于蘋果7代跟7plus有什麼區别?下面内...
2026-08-11
直縫鋼管的成型方法
直縫鋼管的成型方法
大口直縫鋼管是以帶材盤管為原料,采用自動雙線雙側埋弧焊,常采用溫擠壓成型和自動雙線雙面埋弧焊接而成的螺旋縫鋼管。原材料有帶材、線材、焊劑。必須經過嚴格的理化測試,然後才能把它們放進去。帶鋼頭、尾采用單絲埋弧焊或雙絲埋弧焊,卷繞入鋼管後采用自...
2026-08-11
手機玩雲頂之弈教程
手機玩雲頂之弈教程
大家好,我是棋渣江流兒~雲頂之弈是個磨人的小妖精~明明是簡單的自走棋偏偏隻能在電腦上玩上班不能玩,上課不能玩躺着不能玩,站着不能玩居然連上個廁所都不能玩?!棋渣今天教你克服物理障礙,用手機站上雲頂之巅~前期準備工作:最新版本手機端wegam...
2026-08-11
護士資格證考試複習資料2023
護士資格證考試複習資料2023
護士資格證考試複習資料2023?11.物理消毒滅菌①燃燒法:金屬器械在火焰上燒灼20秒,今天小編就來說說關于護士資格證考試複習資料2023?下面更多詳細答案一起來看看吧!護士資格證考試複習資料2023時間型數據:11.物理消毒滅菌①燃燒法:...
2026-08-11
如何讓卡頓電腦變得非常流暢
如何讓卡頓電腦變得非常流暢
現在很多人的家裡都會那麼一台使用了很久的老電腦,基本都是要和老電腦的卡頓和運行慢鬥智鬥勇。今天小編就給大家分享一個非常實用的技巧,通過代碼解決老電腦卡、慢的問題,一起來看看吧!首先在鍵盤上按下“CtrlAltDel”組合鍵,在彈出的界面點擊...
2026-08-11
Copyright 2023-2026 - www.tftnews.com All Rights Reserved