我有一个名为TotalArea
的列,格式为numeric (12,2)
。
我希望它能显示千位分隔符,以便当我
select TotalArea from table
请给我展示一个类似于 1,234.00
的格式。
我该怎么做?谢谢!
我有一个名为TotalArea
的列,格式为numeric (12,2)
。
我希望它能显示千位分隔符,以便当我
select TotalArea from table
请给我展示一个类似于 1,234.00
的格式。
我该怎么做?谢谢!
SELECT FORMAT(12345,'#,0.00');
SELECT FORMAT(TotalArea,'#,0.00') from table;
参考: https://msdn.microsoft.com/en-us/library/ee634206(v=sql.105).aspx
试试这种方式:
SELECT REPLACE(CONVERT(VARCHAR, CONVERT(MONEY, TotalArea), 1), '.00', '')
FROM table
或者SELECT CAST(CONVERT(VARCHAR, CAST(123456 AS MONEY), 1) AS VARCHAR)
FROM table
declare @f float = 12345.67890; SELECT CONVERT(varchar, CAST(@f AS Money), 1)
- Rob将数字进行格式化以供显示是应该在显示层而非数据库中完成的。因此,在任何使用这些数据的应用程序中,您都应该在那里进行格式化。不幸的是,管理工具在这方面并没有提供太多的控制。
我知道这个问题是关于SQL Server 2008的,但如果你有SQL Server 2012或更高版本,你可以使用以下格式:
SELECT FORMAT(12345.5634, 2);
Msg 8116,Level 16,State 1,Line 131 Argument data type int is invalid for argument 2 of format function.
可能你正在回答一个不同的问题 :) 这个问题与SQL Server有关。 - Reversed Engineer