消除 SQL Server 小数值中的尾随零
SQL Server 的十进制数据类型允许定义精度和小数位数,但会自动将尾随零附加到十进制值,这并不总是理想的。
问题:
我们如何从 SQL Server 中的 DECIMAL 列中删除尾随零?
解决方案:
虽然尾随零是十进制数据类型存储的一部分,但它们的显示是一个格式问题,通常由客户端处理。 例如,SQL Server Management Studio (SSMS) 显示不带尾随零的浮点数。我们可以通过将十进制值转换为浮点数来利用这一点。
这是一个演示这一点的查询:
<code class="language-sql">SELECT CAST(123.4567 AS DECIMAL(9,6)) AS OriginalValue, CAST(CAST(123.4567 AS DECIMAL(9,6)) AS FLOAT) AS FormattedValue;</code>
这将输出:
<code>OriginalValue FormattedValue 123.456700 123.4567</code>
说明:
转换为 FLOAT 会强制 SSMS 格式化数字而不带尾随零。 请注意,小数点分隔符可能会根据您的区域设置而有所不同。 此方法解决的是值的显示,而不是底层数据存储。 如果您需要存储不带尾随零的值,请考虑使用不同的数据类型或在数据插入期间调整 DECIMAL 列的小数位数。
以上是如何在 SQL Server 中删除小数值中的尾随零?的详细内容。更多信息请关注PHP中文网其他相关文章!