首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 去除小數點後多餘零:CAST DECIMAL 精度截斷技巧

     編輯:MySQL 綜合教學

核心方法:CAST 為定點數

SELECT CAST(2.12000 AS DECIMAL(9,2));  -- 2.12
SELECT CAST(2.10000 AS DECIMAL(9,2));  -- 2.1
SELECT CAST(2.00000 AS DECIMAL(9,2));  -- 2

原理

  • DECIMAL(M,D):M 總位數(含小數點前後),D 小數位數。
  • 轉換時自動四捨五入到 D 位,並移除尾部無意義零。
  • 整數部分超過 M-D 位會報錯 (Out of range)。

進階:動態精度 / 保留原貌

-- 保留最多 4 位小數,但去除尾隨零
SELECT TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(2.12000 AS CHAR)));

-- 或使用 FORMAT (會加千分位逗號,注意)
SELECT FORMAT(2.12000, 4);  -- '2.1200' (字串,保留 4 位)

應用場景

  • 金額顯示:CAST(price AS DECIMAL(10,2)) 統一 2 位。
  • 報表匯出:移除科學記號與多餘零。
  • API 回傳 JSON:前端不再需自行格式化。

效能提示

CAST 為標量運算,極輕量;大量列建議在 SELECT 列表直接轉換,避免應用層二次處理。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved