第一:是的,我知道不应在数据层中进行数字格式化,但我正在使用一个无法修改的应用程序,也无法在应用程序中格式化结果集。我只能写一个查询。
对于 SQL Server 2008 查询,我想使用空格作为千位分隔符并四舍五入到两位小数。示例:123363.249999应显示为123 363,25.
我试过了:
SELECT REPLACE(CONVERT(varchar, CONVERT(money, 123363.249999), 1), '.00', '')
Run Code Online (Sandbox Code Playgroud)
但这导致123,363.25. 我正在寻找比用空格替换逗号和用逗号替换点更好的解决方案。在查询中设置语言环境会很好。