我有一列 DECIMAL(9,6)
,即它支持像 999,123456 这样的值。
但是当我插入像 123,4567 这样的数据时,它变成了 123,456700
如何去除那些零?
最佳答案
decimal(9,6)
在逗号右侧存储 6 位数字。是否显示尾随零是格式决定,通常在客户端实现。
但由于 SSMS 格式 float
没有尾随零,您可以通过将 decimal
转换为 float
来删除尾随零:
select
cast(123.4567 as DECIMAL(9,6))
, cast(cast(123.4567 as DECIMAL(9,6)) as float)
打印:
123.456700 123,4567
(我的小数分隔符是逗号,但 SSMS 用点格式化十进制。显然是 known issue 。)
关于sql - 从 SQL Server 中的十进制中删除尾随零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2938296/