You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在BigQuery中移除字符串中的"R$ "并转换为float类型

解决BigQuery中去除货币格式并转换为Float的问题
  • 问题根源:你写的正则表达式r"R$ "里,$是正则的特殊元字符,代表行的结尾,所以无法匹配字符串中的R$ 部分,必须把$转义为普通字符才能正确匹配。

  • 正确SQL写法:
    先通过REGEXP_REPLACE去除货币符号与空格,再用SAFE_CAST转换为float类型(使用SAFE_CAST可避免转换失败时触发报错):

    SELECT
      SAFE_CAST(REGEXP_REPLACE(string_column, r"R\$ ", "") AS FLOAT64) AS numeric_value
    FROM
      your_table_name
    
  • 扩展处理:
    如果你的货币字符串包含千分位分隔符(比如R$ 1.230.00),可以用更通用的正则一次性清除所有非数字和小数点的字符:

    SELECT
      SAFE_CAST(REGEXP_REPLACE(string_column, r"[^\d.]", "") AS FLOAT64) AS numeric_value
    FROM
      your_table_name
    

    正则[^\d.]会匹配所有非数字、非小数点的字符,一键清理货币符号、空格、千分位分隔符等干扰内容。

内容的提问来源于stack exchange,提问作者Ricardo Prata

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 05:55:26