是否将格式设置为SQL Server中的有效小数位数?

是否将格式设置为SQL Server中的有效小数位数?,sql,sql-server,decimal,number-formatting,Sql,Sql Server,Decimal,Number Formatting,在SQL Server中,如何将数字显示到小数点后的有效位置 假设MYFIELD是数据类型NUMERIC(38,10): 目前的结果: Select MYFIELD from MYTABLE: 1000.0000000000 1234.5600000000 2000.0000000000 更好的结果(中途): 预期结果: Select ??? from MYTABLE: 1000 1234.56 2000 提前感谢。出于多种原因,我强烈建议在客户端执行格式化相关任务。但是,从SQL Serv

在SQL Server中,如何将数字显示到小数点后的有效位置

假设
MYFIELD
是数据类型
NUMERIC(38,10)

目前的结果:

Select MYFIELD from MYTABLE:
1000.0000000000
1234.5600000000
2000.0000000000
更好的结果(中途):

预期结果:

Select ??? from MYTABLE:
1000
1234.56
2000

提前感谢。

出于多种原因,我强烈建议在客户端执行格式化相关任务。但是,从SQL Server 2012开始,您可以执行以下操作:

select MyField, format(MyField, '0.##') as [MyFieldFormatted]
from dbo.MyTable;

您想将其限制在小数点后2位,还是应该在小数点后0-10位有效?我的数据与货币相关,最多只包含2位小数。但是,如果这些小数是“.00”,我想根本不显示小数。我可以问一下,这是否必须在数据库中发生?在我拙劣的见解中,这是一个表示层问题,可以在client.Serv上很好地解决-我同意,但是在这种情况下,我正在修复一个“批处理脚本”,它直接从SQL输出到文本文件(csv),因此我正在寻找一个快速选项:)
select MyField, format(MyField, '0.##') as [MyFieldFormatted]
from dbo.MyTable;