如何在 BigQuery 中将数值转换为货币?

How to turn numeric value into currency in BigQuery?

我是 BigQuery 的新手,正在尝试将数值(来自 Salesforce)转换为货币(最好是美元价值)。

基本上,我目前拥有的是:

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

FROM table.salesforce

这显然只是将值四舍五入到小数点后两位。

关于您关于如何在 BigQuery 中将数值转换为货币值的问题,我建议您使用 FORMAT()CONCAT() 内置函数。

我看到你在问题中提到你想将数值四舍五入到小数点后第二位,你可以使用 FORMAT(),您可以阅读更多相关信息 here. In addition, to use the "$" sign, you can use 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

并且输出:

请注意,在 FORMAT() 函数中,我使用了 "%'.2f",将数字四舍五入到小数点后第二位。您可以使用以下 guide.

找到有关表达式中每个 letter/number 含义的更多信息

作为奖励信息,货币值的格式为点 "."" 是小数点分隔符,逗号 ","。 =38=] 是分组分隔符。您可以使用带有 REGEX_REPLACE() and REPLACE() 函数的正则表达式来切换它。如果是这样,请告诉我,我可以提供帮助。