Как перевести числовое значение c в валюту в BigQuery? - PullRequest
1 голос
/ 18 февраля 2020

Я новичок в BigQuery и пытаюсь преобразовать числовые значения c (из Salesforce) в валюту (предпочтительно в долларах).

В основном то, что у меня есть в настоящее время:

SELECT salesforce.Name,
       ROUND(salesforce.Amount,2) as Amount 

FROM table.salesforce

Что, очевидно, только округляет значение до двух десятичных знаков.

1 Ответ

1 голос
/ 18 февраля 2020

Относительно вашего вопроса о том, как преобразовать числовое значение c в значение валюты в BigQuery, я бы посоветовал вам использовать FORMAT () и CONCAT () встроенные функции.

Я вижу, что в вашем вопросе, который вы упомянули, вы хотите округлить значения цифры c до второго десятичного знака, вы можете сделать это, используя FORMAT () , вы можете узнать больше об этом здесь . Кроме того, чтобы использовать знак «$», вы можете использовать CONCAT () . Ниже приведен пример, где я использовал фиктивные данные, чтобы проиллюстрировать то, что я объяснил:

  WITH
  data AS (
  SELECT
    20.21 AS num
  UNION ALL
  SELECT
    99999999.12 AS num
  UNION ALL
  SELECT
    12345 AS num )
  SELECT
  CONCAT('$ ',FORMAT("%'.2f", num)) AS new_num
  FROM
  data

И вывод:

enter image description here

Обратите внимание, что в функции FORMAT () я использовал "% '. 2f" , которая округляет число до второго десятичного знака. Вы можете найти дополнительную информацию о значении каждой буквы / цифры в выражении, используя следующую направляющую .

В качестве дополнительной информации значения валют отформатированы таким образом, что точка "." - десятичный разделитель, а запятая "," - разделитель группировки. Вы можете переключить это с помощью выражений регулярных выражений с помощью функций REGEX_REPLACE () и REPLACE () . Если это так, просто дайте мне знать, чтобы я мог помочь.

Надеюсь, это поможет.

...