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中文網其他相關文章!