如何在SQL中格式化货币价值
我的sql命令哪里有问题如何在SQL中格式化货币价值,sql,sql-server,sql-server-2016,Sql,Sql Server,Sql Server 2016,我的sql命令哪里有问题 select REPLACE(CONVERT(varchar, CAST(price AS money), 1),'.','.') as price 输出: price ----- 145,000,00 我想要这样的输出 price ----- 145.000,00 格式化结果通常最好放在前端 如上所述,对于SQL Server 2016,请使用具有适当区域设置的format函数: declare @m money = 145000 select format (
select REPLACE(CONVERT(varchar, CAST(price AS money), 1),'.','.') as price
输出:
price
-----
145,000,00
我想要这样的输出
price
-----
145.000,00
格式化结果通常最好放在前端 如上所述,对于SQL Server 2016,请使用具有适当区域设置的format函数:
declare @m money = 145000
select format (@m, '#,###.00', 'DE-de')
通常,您希望以(十进制)数字的形式检索数据,然后设置其显示格式。这些通常在应用程序的不同部分完成。例如,
price
是一个字符串,您无法对其求和或计算几行的平均值。@a_horse_和_no_name我正在使用sql server 2016@Kobi您能帮我使用sql命令吗?这是一种奇怪的输出格式:请精确定义它(以避免歧义)。@Richard:这一点都不奇怪。一些国家使用,
作为小数点分隔符,
作为分组字符。格式()
应该能够做到这一点:这就是我所说的它的工作原理。。谢谢,如果您想将零格式设置为0.00
而不是.00
,请使用,##0.00'