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中文网其他相关文章!