格式化为SQL Server中的有效小数位?

vik*_*eve 4 sql sql-server decimal number-formatting

如何在SQL Server中的有效小数位显示数字?

鉴于这MYFIELD是数据类型NUMERIC(38,10):

目前的结果:

Select MYFIELD from MYTABLE:
1000.0000000000
1234.5600000000
2000.0000000000
Run Code Online (Sandbox Code Playgroud)

更好的结果(中途):

Select cast(MYFIELD as NUMERIC(38,2)) from MYTABLE:
1000.00
1234.56
2000.00
Run Code Online (Sandbox Code Playgroud)

期望的结果:

Select ??? from MYTABLE:
1000
1234.56
2000
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Rog*_*olf 5

出于多种原因,我强烈建议在客户端执行与格式相关的任务.但是,从SQL Server 2012开始,您可以这样做:

select MyField, format(MyField, '0.##') as [MyFieldFormatted]
from dbo.MyTable;
Run Code Online (Sandbox Code Playgroud)