Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SQL中格式化货币价值_Sql_Sql Server_Sql Server 2016 - Fatal编程技术网

如何在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 (

我的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 (@m, '#,###.00', 'DE-de')

通常,您希望以(十进制)数字的形式检索数据,然后设置其显示格式。这些通常在应用程序的不同部分完成。例如,
price
是一个字符串,您无法对其求和或计算几行的平均值。@a_horse_和_no_name我正在使用sql server 2016@Kobi您能帮我使用sql命令吗?这是一种奇怪的输出格式:请精确定义它(以避免歧义)。@Richard:这一点都不奇怪。一些国家使用
作为小数点分隔符,
作为分组字符。
格式()
应该能够做到这一点:这就是我所说的它的工作原理。。谢谢,如果您想将零格式设置为
0.00
而不是
.00
,请使用
,##0.00'