首页
/
每日頭條
/
科技
/
mysql裡面decimal的長度
mysql裡面decimal的長度
更新时间:2025-03-04 16:28:30

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
推荐阅读
畫法幾何與機械制圖難麼
畫法幾何與機械制圖難麼
畫法幾何與機械制圖難麼?【鞍山慕課講堂】遼甯科技大學丨畫法幾何及機械制圖2.2平面立體上取點線,我來為大家講解一下關于畫法幾何與機械制圖難麼?跟着小編一起來看一看吧!畫法幾何與機械制圖難麼【鞍山慕課講堂】遼甯科技大學丨畫法幾何及機械制圖2....
2025-03-04
北鬥系統為什麼沒有普及
北鬥系統為什麼沒有普及
來源:人民網-人民日報海外版4月8日,在新疆維吾爾自治區巴音郭楞蒙古自治州博湖縣博斯騰湖鄉庫代力克村棉田裡,棉農使用裝有北鬥衛星定位導航系統的播種機播種棉花。年磊攝(人民圖片)在湖南省長沙市,安裝了北鬥終端的公交車能與紅綠燈實現“隔空對話”...
2025-03-04
小米vivooppo新系統
小米vivooppo新系統
IT之家9月14日消息,2020年,百度、OPPO、騰訊、vivo、小米等生态軟硬件企業聯合發起成立移動智能終端生态聯盟(IntelligentTerminalAlliance,簡稱“金标聯盟”)。今日下午,金标聯盟發布《64位适配時間節點...
2025-03-04
組裝台式機教程
組裝台式機教程
組裝台式機教程?安裝處理器首先拆開主闆和微處理器芯片的包裝芯片上有一個帶标記的角,主闆的芯片插口上也有一個帶标記的角,這兩個角必須對齊對齊後,将微處理器放入插口中,我來為大家科普一下關于組裝台式機教程?以下内容希望對你有幫助!組裝台式機教程...
2025-03-04
985大學上課情況
985大學上課情況
随着現在智能手機普及率越來越高,無論是中學生還是大學生,手機不離手現象越發嚴重,無論是吃飯睡覺都是一邊玩手機,一邊做别的事情。最讓人頭疼的是,現在的大學生連上課也是如此,經常不能認真聽講,不停在玩手機!這不僅讓上課的老師們頭疼不已,也引發了...
2025-03-04
Copyright 2023-2025 - www.tftnews.com All Rights Reserved