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

BigQuery报错Bad int64 value 带横杠长字符串转整数的解决方法

报错原因

BigQuery 中INT64(即SQL语句中的int类型)的合法取值范围为 -9223372036854775808 ~ 9223372036854775807,最多仅支持19位有效数字。你去掉横杠后得到的数值16351882649843842141356共计23位,远超出INT64的最大取值上限,因此触发类型转换报错。

解决方案

可根据你的实际使用场景选择对应处理方式:

  • 若该字段仅作为唯一标识使用,无需进行加减乘除等数值计算,直接保留为字符串类型即可,无需转数值:
    SELECT REPLACE(my_table.my_column, '-', '') AS processed_id
    FROM my_table
    
  • 若你确实需要对该字段做数值运算,可转换为支持更大取值范围的BIGNUMERIC类型,该类型最大支持76位有效数字,完全覆盖你的数值长度:
    SELECT CAST(REPLACE(my_table.my_column, '-', '') AS BIGNUMERIC) AS processed_num
    FROM my_table
    

内容的提问来源于stack exchange,提问作者Mark McGown

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 16:15:06