2017-01-02 2 views
-3

Где проблема с моей командой sql?Как форматировать денежное значение в SQL

select REPLACE(CONVERT(varchar, CAST(price AS money), 1),'.','.') as price 

выход:

price 
----- 
145,000,00 

Я хочу такой вывод

price 
----- 
145.000,00 
+2

Как правило, вы хотите получить данные в виде (десятичное) число, а затем установить его формат для отображения , Обычно это делается в разных частях вашего приложения. Например, когда 'price' является строкой, вы не можете суммировать ее или вычислять среднее значение для нескольких строк. – Kobi

+0

@ a_horse_with_no_name im using sql server 2016 @Kobi может у вас помочь с моей командой sql? –

+0

Это нечетный формат вывода: пожалуйста, определите его точно (чтобы избежать двусмысленности). – Richard

ответ

1

результатов форматирования обычно лучше оставить на переднем конце.

Сказав, что, с SQL Server 2016, используйте функцию форматирования с соответствующей локали:

declare @m money = 145000 
select format (@m, '#,###.00', 'DE-de') 
+0

, что и говорит о его работе. Благодарю декана –

Смежные вопросы