在MySQL中,DECIMAL
類型用于存儲精確的小數值
以下是創建一個包含 DECIMAL
類型字段的表的示例:
CREATE TABLE items (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
price DECIMAL(10, 2) -- 整數部分最多8位,小數部分最多2位
);
在這個例子中,price
字段被定義為 DECIMAL(10, 2)
類型。這意味著整數部分最多可以有8位(因為我們需要為小數點和小數部分預留位置),小數部分最多可以有2位。
當插入數據時,MySQL會自動檢查給定的值是否符合指定的約束。例如,如果你嘗試插入一個超出范圍的值,MySQL將返回錯誤:
INSERT INTO items (name, price) VALUES ('Item A', 99999999.99); -- 正常插入
INSERT INTO items (name, price) VALUES ('Item B', 100000000.00); -- 報錯,因為整數部分超過了8位
請注意,DECIMAL
類型在處理貨幣時非常有用,因為它可以確保數值的精確表示。然而,在處理大量數據時,DECIMAL
類型可能比浮點類型(如 FLOAT
或 DOUBLE
)更占用存儲空間。因此,在選擇數據類型時,請根據你的需求和性能要求進行權衡。