有没有简单的方法来格式化T-SQL中的小数?

Ian*_*nry 10 sql t-sql

我知道它可以在非SQL环境中轻松完成[后数据处理,前端,你有什么],但目前还不可能.有没有办法取一个decimal(5,2)并将其转换为varchar没有尾随零/小数点?例如:

declare @number decimal(5,2)
set @number = 123.00
select cast(@number as varchar) as FormattedNumber
Run Code Online (Sandbox Code Playgroud)

结果是'123.00'.是否有(简单)方法来获得'123'?同样,而不是'123.30','123.3'?可以通过弄清楚百分之十/十分位数是否为0并手动修剪字符来做到这一点,但我想知道是否有更优雅的解决方案.

Fra*_*lis 14

关于什么:

SELECT CAST(CAST(@number AS float) AS varchar(10))
Run Code Online (Sandbox Code Playgroud)

但是,您可能希望首先使用原始数据仔细测试.