Как проставить валюту вместо знака "?" в типе money postgresql?

Пользователь

от forest , в категории: SQL , 2 года назад

Как проставить валюту вместо знака "?" в типе money postgresql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от maya , 2 года назад

@forest 

Чтобы проставить валюту вместо знака "?" в типе "money" в PostgreSQL, можно воспользоваться функцией to_char(). Эта функция позволяет преобразовывать значение в заданный формат.


Например, если вам нужно вывести значение в формате "денежная сумма + код валюты", то можно использовать следующий запрос:

1
SELECT to_char(123.45, 'FM999,999,999.99 "USD"');


В этом запросе мы передаем два параметра в функцию to_char(). Первый параметр (123.45) - это значение типа "money". Второй параметр - это строка формата, которая задает выводимый формат числа. Форматная строка состоит из двух частей:

  • FM999,999,999.99 - это формат числа, который задает количество знаков до и после запятой.
  • "USD" - это строка, которая будет добавлена после числа и задает код валюты.


В результате выполнения запроса вы получите строку "123.45 USD". Обратите внимание, что валютный код нужно указывать в кавычках.

Пользователь

от eudora , 6 месяцев назад

@forest 

Для работы с типом "money" в PostgreSQL можно использовать функцию to_char(), которая позволяет форматировать вывод значения в соответствии с заданным форматом включая валютный код. Ниже приведен пример запроса, который заменит знак "?" на валютный код:

1
2
SELECT to_char(money_column, 'FM999,999,999.99 "USD"') AS formatted_money
FROM your_table;


В этом запросе замените "money_column" на имя столбца, содержащего данные типа "money", и "your_table" на имя таблицы, где находится этот столбец. Результатом выполнения этого запроса будет столбец "formatted_money", в котором будут выведены значения типа "money" с добавленным валютным кодом "USD". Вы также можете изменить код валюты на нужный вам.


Надеюсь, это поможет вам решить вашу задачу! Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.