如何解决CAST转换带小数字符串为INT64时的报错问题
解决字符串含小数点转INT64的问题
针对字符串列含小数点无法直接CAST为INT64的情况,可按以下方式处理:
基础转换(自动截断小数):先将字符串转为浮点型,再转整数型,BigQuery会自动截断小数部分
CAST(CAST(your_column AS FLOAT64) AS INT64)示例:
1.99转换后为1按需求处理小数:
- 四舍五入后转整数:
示例:CAST(ROUND(CAST(your_column AS FLOAT64)) AS INT64)1.99转换后为2 - 强制截断小数(等同于基础转换,但更直观):
示例:CAST(TRUNCATE(CAST(your_column AS FLOAT64), 0) AS INT64)1.99转换后为1
- 四舍五入后转整数:
处理异常值:如果列中存在非数字格式的字符串,用
SAFE_CAST避免查询中断,非法值会返回NULLCAST(SAFE_CAST(your_column AS FLOAT64) AS INT64)
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

