Знак доллара, запятая, десятичные знаки

У меня есть этот код для получения итоговых и других полей. что меня интересует чтобы получить итоговые значения со знаком $, запятой и 02 десятичными знаками, что будет лучшая функция, чтобы охватить все это. итоговая сумма должна быть такой: 1780,00 долларов США.

пожалуйста, порекомендуйте

select distinct
    c.givenname, c.familyname, s.total, p.title,
    a.givenname+' '+a.familyname as artist
from
    customers as c
        join sales as s on c.id=s.customerid
        join saleitems as si on s.id=si.saleid  
        join paintings as p on si.paintingid=p.id   
        join artists as a on p.artistid=a.id;

Результат, который я получаю, выглядит так:

Aloysius Peace  1780.0000 Woman in Black (Femme en noir)Mary Cassatt
Amanda  Lynn    1115.0000 Le Moulin de la Galette   Pierre-Auguste Renoir
Amanda  Lynn    1115.0000 Madamoiselle RiviereJean-Auguste-Dominique Ingres
Amanda  Lynn    1115.0000 Pollard Willows With SETting SunVincent Van Gogh
Amelia  Rate    2125.0000 Flowers in a Vase with Shells and InseBalthasar Van 
Amelia  Rate    2125.0000 The Meeting of St Anthony Abbot and St Paul in the 
Amelia  Rate    2125.0000 The Two Girlfriends   Henri de Toulouse-Lautrec
Amelia  Rate    2125.0000 Vision After the Sermon, Jacob Wrestling  

Отметьте свой вопрос с помощью базы данных, которую вы используете.

Gordon Linoff 31.10.2018 13:46

Я бы позволил уровню представления исправить форматирование.

jarlh 31.10.2018 13:57
0
2
30
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте это в своем коде примерно так. (для MS SQL)

select '$' + cast(cast (s.total as decimal (9,2)) as varchar(20)) as price

это сработало отлично, спасибо, пожалуйста, посоветуйте, почему мы используем 02 cast в этом заявлении, просто для меня ...

tauqeer 02.11.2018 10:57

Одна вещь, которую я заметил, если я использую order by TotalPrice desc в конце кода, он не выполняет правильный порядок desc, по любой причине для этого. пожалуйста, порекомендуйте.

tauqeer 02.11.2018 11:18

Десятичное преобразование предназначено для «фиксации» данных в формате валюты, а затем, поскольку мы ставим префикс символа валюты, числа преобразуются в строку, чтобы можно было сохранять не буквенно-цифровые значения. Если бы вы представляли данные в SSRS или другом уровне представления, вы бы обычно не беспокоились.

JonTout 02.11.2018 11:57

Другие вопросы по теме