如何将十进制值转换为逗号?SQL Server格式小数点后加逗号
this帮助我。但我的问题的小数位设置为2 only..I想十进制为2,3,或4..example
1,234.123 or 1,234.12345
我试图
convert(varchar, convert(decimal(18, 4), 1234.1234567), 1)
输出:1234.1234
没有逗号。但是,如果我用钱小数点是2只
转换(VARCHAR,转换(金钱,1234.1234567),1)
输出:1,234.12
数字没有格式。当你将它们转换为字符串时,它们只会获得格式***,这是为了演示而完成的。而你的数据层应该不会关心表示。这是呃,什么是表示层。从SQL中,您应该返回原生数据类型,并仅将其转换为前端的演示文稿。 * [这通过解耦,可维护性,灵活性/适应性等来帮助调试,性能和体系结构等]]] – MatBailie
关于表示层达成共识,但有一些有效的案例。我必须在SSMS中构建即席查询,然后通过电子邮件发送结果。这是我发送电子邮件之前需要处理的一个步骤。 –
我同意;格式应该在表示层完成。 但SSMS是表示层。我还写了即席查询,然后将结果粘贴到“最终用户”(即老板和/或会计师)的电子表格中。 我现在挣扎,因为SSMS使小数点,电子表格需要十进制的逗号。 理想情况下,我应该通过“SET DECIMAL_FORMAT =”DA_dk“或SSMS中的某些选项来更改十进制格式。 –