在MySQL數據庫中存儲金額,通常會使用Decimal類型,因為浮點類型會存在精度問題。
CREATE TABLE `transactions` ( `id` int(11) NOT NULL AUTO_INCREMENT, `amount` decimal(10,2) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
在上面的示例中,我們創建了一個名為transactions的表,該表具有id和amount兩個字段,其中amount是decimal類型,精確到小數點后兩位。注意,Decimal類型需要指定精度和小數位數。
當我們需要在MySQL中進行貨幣計算時,我們可以使用內置的round()函數來解決精度的問題。
SELECT round(SUM(amount), 2) FROM transactions;
上面的示例演示了如何使用round()函數來將結果四舍五入到小數點后兩位。這意味著我們可以確保我們的計算結果是準確的,而不會受到浮點數運算的精度問題的干擾。
上一篇mysql 時間加1
下一篇mysql存儲部分內容