如何在BigQuery中修正表字段内的拼写错误值
BigQuery统一修正字段拼写错误的实现方法
方案1:查询时临时修正(不修改原始表数据)
适合只需要临时使用修正后的数据、不需要改动原有存储的场景,直接调用REPLACE函数即可:
SELECT id, REPLACE(typo_column, 'Uknown', 'Unknown') AS typo_column FROM `你的项目ID.你的数据集名称.你的表名称`
如果需要更严格的精确匹配避免误替换,可以改用CASE WHEN逻辑:
SELECT id, CASE WHEN typo_column = 'Uknown' THEN 'Unknown' ELSE typo_column END AS typo_column FROM `你的项目ID.你的数据集名称.你的表名称`
方案2:直接更新原表数据(修改原始存储内容)
如果需要永久修正表内的错误值,可以使用BigQuery的DML UPDATE语句执行更新,注意加上WHERE条件过滤仅修改错误行,降低扫描成本:
UPDATE `你的项目ID.你的数据集名称.你的表名称` SET typo_column = 'Unknown' WHERE typo_column = 'Uknown'
注意事项
- 执行更新操作前,建议先执行
SELECT * FROM 你的表路径 WHERE typo_column = 'Uknown'确认匹配的行都是需要修改的内容,避免误操作 - 如果操作的是分区表/聚类表,可在WHERE条件中补充分区过滤规则,进一步减少扫描量、降低操作成本
内容的提问来源于stack exchange,提问作者David Masip
相关产品推荐
相关产品推荐

