2015-05-07 3 views
1

Может ли кто-нибудь помочь мне форматировать данные о долларах в миллионы долларов для SQL Server?Формат валюты в миллионы долларов SQL Server

3,000,000 

--> $3M 

У меня есть это, но это не работает

SELECT  '$' + SUM(Sales_Information.Sales_in_Dollars/1000000) 
         AS [Sales in Millions] 

Делать это дает мне # Ошибка

format(SUM(Sales_Information.Sales_in_Dollars/1000000) 
+1

превратить 3 миллиона долларов в 3 доллара? Похоже на работу для вашего дружелюбного мегабанка. –

+0

@MarcB heh - см. Правки. единицы находятся в миллионах – user25976

+0

Что такое Sales_in_Dollars DataType? Сколько десятичных знаков –

ответ

2

В FORMAT функции имеет способ обрезать тысячу НСР

каждая запятой уменьшает отображаемое значение на 1000

например,

select format(3000000,'$0,,,.000B') 
select format(3000000,'$0,,M') 
select format(3000000,'$0,K') 

(обратите внимание, что я должен был использовать десятичные, чтобы показать 3 миллиона в миллиардах)

Выход:

$ 0.003B
$ 3M
$ 3000K

+0

Может ли это быть что-то динамическое, основанное на значении sql query возвращает 3B или 3M, а затем имеет что-то статическое – Varun

+0

только с помощью оператора 'CASE WHEN' для разделения поля на точки отсечки, – SeanC

1

Попробуйте это ....

SELECT '$' + CONVERT(VARCHAR(100),CAST(3000000 AS MONEY),1) 

RESULT: $3,000,000.00 
+0

Я ищу, что результат равен $ 3M – user25976

0

просто разделите свою валюту на 1000000 и «М» до ее конца

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