首頁 >資料庫 >mysql教程 >如何在 SQL Server 中截斷而不是捨入小數位?

如何在 SQL Server 中截斷而不是捨入小數位?

Linda Hamilton
Linda Hamilton原創
2025-01-15 08:54:43551瀏覽

How Can I Truncate, Not Round, Decimal Places in SQL Server?

在 SQL Server 中刪除小數位:截斷方法

SQL Server 通常需要操作小數數據,有時需要刪除尾隨小數位,而不透過舍入更改值。 與 ROUND 函數的捨入行為不同,場景需要純粹截斷以確保資料完整性。

考慮這個例子:

<code class="language-sql">DECLARE @value DECIMAL(18,2);
SET @value = 123.456;</code>

SQL Server 本身會將 @value 捨入為 123.46。 要截斷,請利用特定第三個參數的 ROUND 函數:

<code class="language-sql">ROUND(123.456, 2, 1);</code>

關鍵的第三個參數 (1) 指示截斷,而不是捨入。 結果是 123.45,有效去除了多餘的小數位。

函數語法

ROUND 函數的截斷語法為:

<code class="language-sql">ROUND(numeric_expression, length, function)</code>

參數:

  • numeric_expression: 要截斷的十進位值。
  • 長度:要保留的小數位數。
  • 函數: 運算類型(0 表示舍入,任何非零值表示截斷)。

使用 ROUND 和截斷參數提供了一種在 SQL Server 中刪除小數位的精確方法,而不會因舍入而引入不準確的情況,從而確保應用程式中資料的準確性。

以上是如何在 SQL Server 中截斷而不是捨入小數位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn