如何在 SQL 中格式化货币值

Wah*_*nto -4 sql sql-server sql-server-2016

我的sql命令问题出在哪里?

select REPLACE(CONVERT(varchar, CAST(price AS money), 1),'.','.') as price
Run Code Online (Sandbox Code Playgroud)

输出 :

price
-----
145,000,00
Run Code Online (Sandbox Code Playgroud)

我想要这样的输出

price
-----
145.000,00
Run Code Online (Sandbox Code Playgroud)

dea*_*ean 5

格式化结果通常最好留给前端。

话虽如此,对于 SQL Server 2016,请使用具有适当语言环境的 format 函数:

declare @m money = 145000
select format (@m, '#,###.00', 'DE-de')
Run Code Online (Sandbox Code Playgroud)