在SQLServer中如何从十进制中删除尾随零?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (16)

当我插入像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

扫码关注云+社区