萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

SQL 數值函式:ROUND() 四捨五入至指定小數位

ROUND() 將數值四捨五入至指定小數位數,支援負數位數 (捨入至十位、百位)。

語法

ROUND(column_name, decimals)
  • decimals > 0:小數點右側位數
  • decimals = 0:四捨五入至整數
  • decimals < 0:小數點左側 (十位、百位...)

範例資料:Products 表

+----+------------+------+----------+
| Id | ProductName| Unit | UnitPrice|
+----+------------+------+----------+
| 1  | Jarlsberg  |1000 g| 10.45    |
| 2  | Mascarpone |1000 g| 32.56    |
| 3  | Gorgonzola |1000 g| 15.67    |
+----+------------+------+----------+

查詢:單價四捨五入至整數

SELECT ProductName, ROUND(UnitPrice, 0) AS RoundedPrice
FROM Products;

結果

+------------+--------------+
| ProductName| RoundedPrice |
+------------+--------------+
| Jarlsberg  | 10           |
| Mascarpone | 33           |
| Gorgonzola | 16           |
+------------+--------------+

負數位數範例

SELECT ROUND(1234.56, -1);  -- 1230 (捨入至十位)
SELECT ROUND(1234.56, -2);  -- 1200 (捨入至百位)

資料庫差異提醒

  • MySQL / PostgreSQL / Oracle:標準四捨五入 (Banker's Rounding 視版本而定)。
  • SQL Server:ROUND 第三參數指定截斷而非四捨五入。
  • 金融計算建議用 DECIMAL 型態 + 應用層控制捨入模式。
copyright © 萬盛學電腦網 all rights reserved