如何从 BigQuery 结果中去除非数字字符

dat*_*ess 4 strip google-bigquery

我已经看到有关如何在 BigQuery 中为数字添加逗号的信息,但我得到的是美元金额结果

$15,000
$25,000
$10,000
Run Code Online (Sandbox Code Playgroud)

我想转换成纯数字

15000
25000
10000
Run Code Online (Sandbox Code Playgroud)

我还没有找到任何 BigQuery 函数来进行这样的格式更改。

Mik*_*ant 7

许多不同的方式 - 例如下面的一种使用正则表达式来删除$,字符

#standardSQL
WITH `project.dataset.table` AS (
  SELECT '$15,000' AS dollar_amount UNION ALL
  SELECT '$25,000' UNION ALL
  SELECT '$10,000' 
)
SELECT 
  dollar_amount, 
  CAST(REGEXP_REPLACE(dollar_amount, r'\$|,', '') as INT64) amount
FROM `project.dataset.table`
Run Code Online (Sandbox Code Playgroud)

  • 或者只是 `CAST(REGEXP_REPLACE(dollar_amount, r'[^0-9.]', '') AS INT64)` 以避免额外的 ARRAY 相关的东西 (4认同)