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

BigQuery如何用单条语句为现有表添加计算列Duration?

在BigQuery中为现有表添加并计算赋值新列

BigQuery 不支持单条语句同时完成添加列和基于现有列计算赋值的操作,你需要分两步执行:

  1. 首先添加空的Duration列:
ALTER TABLE `total_bike`
ADD COLUMN Duration INT64;
  1. 然后用UPDATE语句计算并填充该列的值:
UPDATE `total_bike`
SET Duration = TIMESTAMP_DIFF(ended_at, started_at, MINUTE)
WHERE TRUE; -- WHERE TRUE 会更新表中所有行

补充说明

  • 若表数据量极大,可考虑分批更新以降低单次操作的资源消耗,但常规场景下上述两步操作已足够高效。
  • TIMESTAMP_DIFF返回值为INT64类型,将列类型定义为INT64更匹配BigQuery的类型体系,能避免潜在的类型转换问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 12:55:55