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

如何在Google BigQuery中修改原表将处理后评分转为FLOAT类型?

解决方案:在BigQuery中修改原表并转换评分数据类型

你可以通过以下两种方式修改原表,将处理后的评分转换为FLOAT64类型:

方案1:直接覆盖原表(一次性处理)

这种方法最直接,通过CREATE OR REPLACE TABLE将处理后的数据覆盖原表,同时完成类型转换:

CREATE OR REPLACE TABLE Movies.Movies_Showtime AS
SELECT 
  Movie_Name,
  -- 先去除空格再转换为FLOAT64类型,用SAFE_CAST避免无效数据导致查询失败
  SAFE_CAST(REPLACE(Movie_Rating, ' ', '') AS FLOAT64) AS Movie_Rating
FROM Movies.Movies_Showtime;

执行后,原表的Movie_Rating列会直接变为FLOAT64类型,数据也会更新为无空格的正确数值。如果确认数据里没有无效的评分格式,也可以去掉SAFE_直接用CAST。

方案2:分步修改列(适合需要验证数据的场景)

如果不想直接覆盖原表,可以分步骤添加新列、更新数据、替换旧列:

  1. 添加新的浮点类型列
ALTER TABLE Movies.Movies_Showtime
ADD COLUMN Movie_Rating_Float FLOAT64;
  1. 将处理后的评分写入新列
UPDATE Movies.Movies_Showtime
SET Movie_Rating_Float = SAFE_CAST(REPLACE(Movie_Rating, ' ', '') AS FLOAT64);
  1. 删除旧的字符串类型列
ALTER TABLE Movies.Movies_Showtime
DROP COLUMN Movie_Rating;
  1. 将新列重命名为原列名
ALTER TABLE Movies.Movies_Showtime
RENAME COLUMN Movie_Rating_Float TO Movie_Rating;

这种方式可以在删除旧列前,验证新列的数据是否正确,适合对数据安全性要求较高的场景。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 10:22:22