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

如何在 SQL Server 中截斷小數位而不進行四捨五入?

Patricia Arquette
發布: 2025-01-15 09:51:44
原創
805 人瀏覽過

How Can I Truncate Decimal Places in SQL Server Without Rounding?

SQL Server 十進位截斷:指南

在 SQL Server 中使用小數通常需要精確控制小數位。 有時,您需要刪除多餘的數字而不影響舍入的效果。雖然 SQL Server 的 ROUND() 函數主要用於舍入,但它也可以截斷。

要截斷,請使用非零第三個參數的 ROUND() 函數。 該位置上的零表示四捨五入;任何其他值都會執行截斷。

讓我們舉例:

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

通常,@value 將舍入為 123.46。 截斷:

<code class="language-sql">SELECT ROUND(@value, 2, 1);</code>
登入後複製

這將返回 123.45,有效地截斷多餘的小數位。

函數語法與參數

ROUND() 函數遵循以下結構:

<code class="language-sql">ROUND(numeric_expression, length [ ,function ])</code>
登入後複製

以下是爭論的細分:

Argument Description
numeric_expression The decimal value you want to truncate.
length The desired precision (number of decimal places). Positive values specify decimal places to the right of the decimal point; negative values specify places to the left.
function The operation type. 0 rounds; any non-zero value truncates.

重要注意事項

  • length 參數可以是正數或負數。 正值控制小數點右邊的小數位數,而負值則影響小數點左邊的數字。
  • function參數是可選的;如果省略,則預設為 0(四捨五入)。

此方法提供了一種在 SQL Server 中截斷十進位值的簡單方法,而無需採用更複雜的解決方法。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板